この記事はRuby Advent Calendar の23日目として書いてます。
先日RubyKaigiでトーク(Writing web application in Ruby)をしたところ思いのほか反響があったので、少しフォロー書いておこうかと思います。丁度ここに枠が空いていたのでこの場で書かせていただきます。
Hyaliteについて
HyaliteはRubyで作られたVirtual DOM実装です。OpalというRubyからJavaScriptへコンパイルするトランスパイラを利用してRubyのプログラムとして書いています。
まだまだ開発途上で、実はRubyKaigiに合わせて早急に実装した部分もあります。RubyKaigiのまでにはいくつかサンプルが動くことを目標に作りました。
そのサンプルというのは2つあって、TodoMVCのHyalite版(https://github.com/youchan/hyalite-todo )とRubyKaigiのトークのためのスライドでした。
スライドのほうは、実際に動くものが、http://rubykaigi.youchan.com にあります。矢印(← →)キーでスライドの操作、sキーでMatzが時間に合わせて動きます。また、fキーでフッターが表示されます。
ソースコードがgithubにありますので興味があったら見てください。Markdownでスライドを書くようになっているので、実は他の発表でも使うことができます。
TodoMVCの実装について簡単な解説を仮想DOM/Flux Advent Calendarに書きましたので、使ってみたいひとはそちらを参考にしてもらえるとよいと思います。
動機について
Hyaliteを作った理由についてはトークでも話しましたが、趣味のプログラミングのためでした。それともうひとつあって、それはRubyKaigiのトークのためでした。
カンファレンス駆動開発です。
仕事で書くコードにこれを使いたいとか、多くのひとに使ってもらって役に立ちたいとか、そういうことは一切ありませんでした。
とはいえ、自分で使いたいと思う程度には役に立つと思っているし、他にも自分と同じように良いと思ってくれるひとはいるだろうとは思います。
また、RubyKaigiで発表するということは、それなりに意義のあることでなければ発表の機会も与えられないでしょう。
そういうわけで、それなりの反響があったみたなので(個人的な知人以外はtwitterでしか観測していませんが)もしかしたら誰か使ってみたいと思ってくれるひとがいるのではないかと思いこの記事を書いています。
趣味のプログラミング
趣味のプログラミングなのでほんと自分のペースでのんびり書いています。とはいえ、大江戸Ruby会議とRubyKaigiで自分としてはかなり開発が進みました。
カンファレンス駆動開発いいです。ちょうお勧めなので趣味でプログラミングしているひとはぜひカンファレンスにトークを応募して趣味のプログラミングをドライブしてみてください。
将来について
isomophicとか風呂敷広げたのが割と反応があって、うれしかったのと同時にどうしようという感じです。
実を言うとRubyKaigiの後にもisomophicに関してあたらしいアイデアがあってどこから手をつけようという感じです。
とはいえ、現状まったくテストもドキュメントもない状態なので足周りもちゃんと固めていかないとなあと思っているところです。
isomophicに関してはまたどこかのカンファレンスで話せるようなものが出来たら、話したいと思ってます。
なんかRubyのAdvent Calendarなのにエモい話ばかりになってしまいました。
RubyKaigiはテッキーにおねがいしますと言われていたものであとがきはエモいほうに振ってしまいました。すいません。