「Ruby on Rails 3.1」リリース、パフォーマンス向上のための仕組みなど多くの変更点
David Heinermeier Hansson氏は8月31日、Web開発フレームワーク「Ruby on Rails(RoR) 3.1」をリリースした。数多くの新機能や修正が加えられており、Webアプリケーションのパフォーマンスを向上させるような仕組みが追加されている。
RoRはRubyで作成されたWebアプリケーション開発フレームワーク。MVC(Model-View-Contorol)アーキテクチャベースのフレームワークで、「設定より規約」や「同じことを繰り返さない」などの哲学により生産性の向上を目指している。
当初の予定より9日遅れのリリースとなったRoR 3.1では、アセットパイプライン(Asset Pipeline)、HTTPストリーミング、リバーシブルマイグレーション、デフォルトのJavaScriptエンジン変更の4つが特徴となる。
アセットパイプラインは、JavaScriptやCSS、画像といった関連ファイルを、Webブラウザからのリクエストに応じて処理しつつ提供する機構。アセットパイプラインはRubyで書かれたライブラリ「Sporockets」を利用して実現している。これによってJavaScriptやCSSなどの変換や連結・圧縮を自動的に行うことができ、HTTPリクエスト数の削減やこれらファイルの管理性の向上などが期待できる。
HTTPストリーミングは、1つのHTTPセッションで複数のデータを送信する機構。たとえばサーバー側がレスポンスの生成している最中に平行してWebブラウザにJavaScriptやCSSを送信する、といったことが可能となる。利用にはRuby 1.9.2が必要で、Webブラウザ側での対応も必要となる。
リバーシブルマイグレーションはマイグレーションの巻き戻しを可能にする仕組み。migrationファイルのデフォルトフォーマットが変更され、self.upメソッドおよびself.downメソッドではなく、changeメソッドを用いるようになっている。
そのほか、デフォルトのJavaScriptエンジンは「Prototype(prototype.js)」から「jQuery」に変更された。Prototypeも継続してサポートされており、jQueryから簡単に切り替えられるという。
なお、RoR 3.1の利用には、Ruby 1.8.7以上が必要となる。
Ruby on Rails
http://www.rubyonrails.org/