多数の新機能を搭載した「Ruby on Rails 4.0」が登場

 Ruby on Rails作成者のDavid Heinemeier Hansson氏は6月25日、最新版「Ruby on Rails 4.0」のリリースを発表した。Ruby 1.9.3以上が必須となったほか、Webアプリケーションの高速化を実現する多数の機能が追加されている。

 Ruby on Rails(RoR)はRuby向けのWebアプリケーションフレームワーク。MVC(Model-View-Contorol)アーキテクチャをベースに「設定より規約」や「同じことを繰り返さない」などの理念を掲げており、開発生産性の改善を目標とする。ライセンスはMIT License。

 RoR 4.0は、2010年8月に公開されたバージョン3から3年近くを経ての最新版となる。Hansson氏は開発のフォーカスとして、高速に動くモダンなWebアプリケーション開発をより簡単にすることを挙げている。大きな変更が多数加えられているが、その中でも特に注力されたものとしてネストされたテンプレート間での自動依存性管理を使ったキャッシュの世代管理や、「Turbolinks」を利用したクライアントサイド処理の高速化、「宣言型etag」を使ったページの更新管理が挙げられている。

 キャッシュの世代管理では「Russian Doll」と呼ばれるキャッシュのダイジェスト機能が組み込まれた。これはcashe_digestsプラグインとして実装されており、データが変更された時点でチェックサムが自動生成されるという。「Turbolinks」はページの遷移時にページ全体をリロードさせるのではなく、ボディおよびタイトルのみを書き換えることで、JavaScriptやCSSの再読み込みおよびコンパイルを回避するものとなる。開発側に影響を与えずに高速化を図れるというが、既存のJavaScriptパッケージと互換性関連の問題が生じる可能性もあると警告されている。近年ではクライアントサイドのJavaScriptでビューを描画する技術が登場しているが、RoR 4.0の新機能を利用することで、これらを利用せずにアプリケーションの高速化を実現できるという。

 そのほか、サーバーからクライアントに向けて非同期にデータをストリーミング送信する「ライブストリーミング」の実装やデフォルトでのスレッドセーフ、ActiveRecordの改善なども行われた。一方で、ActiveResource、ActiveObservers、ActionPack、Action Casheなどは削除され、プラグインとして提供されるように変更された。

 なお、RoR 4.0ではRuby 1.9.3以降が必須(推奨は2.0)となり、Ruby 1.8系はサポート外となっている。

Ruby on Rails
http://rubyonrails.org/