追記 (2014/11/29)
最近、この記事をストックしてくれる方が増えて嬉しいのですが、
結構昔に書いたやつなので内容が微妙に古いです。
特にチュートリアルに関しては今は別物に変わっているので、
こちらの記事を参照し公式のドキュメントを見ていただければと思います。
Volt チュートリアル
http://qiita.com/5t111111/items/e1c207d780b7af1aef8c
はじめに
最近、VoltというRubyのReactive Webアプリケーションフレームワークについて目にすることが増えた気がします。
特徴
- バックエンド、フロントエンド共にRubyでコードを記述する (フロントエンドではOpalを使ってJavaScriptに変換する)
- ユーザーの操作に応じて、自動的にDOMを更新する
- クライアント/サーバー間の同期はHTTPで通信するのではなく、クライアント/サーバー間の永続的なコネクションを使用する。なので、あるクライアントでデータが更新されたら、データベースと他のlistening中のクライアントにも反映される
Voltについてのコメントを眺めていると、「Meteorに似ている」という指摘が多いです。私はMeteorを使ったことがないのですが、そのRuby版のようなもの想像してもらうのが手っ取り早く分かり易いかもしれません。
Voltプロジェクトの作成
READMEにある手順にしたがって、Voltプロジェクトを作成してみましょう。
Bundlerを使う場合には適宜読み替えてください。
Voltのインストール
gem install volt
新しいVoltプロジェクトの作成
volt new project_name
これで、基本的なプロジェクトがセットアップされます。
サーバーの起動
volt server
アプリケーションの開発
Voltのプロジェクトを作成すると、アプリケーションのひな形が生成されます。
が、それだけでは当然、何をしていいのかさっぱり分かりません。
簡単な概要を説明するデモ動画とデモアプリケーションが用意されているので、Readmeを読みながらまずはそれらを見てみると良いでしょう。
(まだここで自分で詳細手順を解説できるほどに詳しく見てません・・・)
動画は当然英語ですが、修正や作成するべきファイルは順を追って画面上で説明されるので、英語なんてさっぱり分かりませんよ、という場合でも画面を見つつ、画面と同じように手を加えていけば順を追って感じをつかめると思います。
デモ動画
デモアプリケーション
- https://github.com/voltrb/todos3
- https://github.com/voltrb/blog
- https://github.com/voltrb/contactsdemo
おわり
ほんとにただの紹介だけになってしまいましたが、個人的にはVoltプロジェクトにはめちゃ期待してるので、多くの人が知ってくれてDiveすることでどんどんよくなると嬉しいなぁと思ってます。
それによってOpalも更に活性化するともう最高ですね。
Readmeの和訳だけはちょいちょい進めていきたいです。
https://github.com/5t111111/volt/blob/ja-translation/Readme.ja.md