Ruby on Rails開発チームがRails 4.0をリリースした。1年半の開発期間を費やした今回のリリースには,Turbolinksや改良されたキャッシュ,デフォルトでスレッドセーフなど,興味深い新機能が含まれている。変更の多くは,37 SignalsのBasecamp Nextで公表済みだ。
Turbolinksは,Railsアプリケーションを単一ページのJavaScriptアプリケーションに変換するものだ。これによって,ページを改めてロードするのではなく,現在表示中のページをサーバからの新しいコンテントに置き換えるようになる。
pjaxに似ていますが,ボディ全体が更新対象であるため,置き換えるページ要素を考慮したり,サーバ側からのレスポンスをそれに合わせたりする必要はありません。これにより,サーバ側のレスポンスを調整する必要なく,pjaxのパフォーマンス上のメリット(JavaScriptの再コンパイルやCSSが不要)をすべて享受することが可能です。
キーによるキャッシュ有効期限(cache expiration)もサポートされた。キャッシュを自動的に無効にすることで,複雑なキャッシュ構造の実装が容易になる。
今回のリリースではRuby 1.8のサポートも削除されて,Ruby 2へのアップグレードが推奨されている。Ruby 1.9は引き続きサポートされるが,Rails 5からはRuby 2以上が必須になる予定だ。また例によって,Rails 3.2アプリケーションをRail 4に移行するための,詳細なアップグレードガイドが提供されている。
Sam Ruby氏のAgile Web Development with Rails 4や,InfoQの編集者だったObie Fernandez氏のThe Rails 4 Wayなど,Rails関連の人気書籍もアップデートされている。
更新内容についての詳細は,changelogに記載されている。読者はすでにRails 4へのアップグレードを済ませただろうか? その経験をぜひ聞かせてほしい!