「Ruby on Rails 8」正式リリース。SQLiteを本番DBとして利用可能に。今後は6カ月ごとに新バージョンをリリース
今回は「「Ruby on Rails 8」正式リリース。SQLiteを本番DBとして利用可能に。今後は6カ月ごとに新バージョンをリリース」についてご紹介します。
関連ワード (今年、構築可能、生成等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
Rubyを用いたWebアプリケーションフレームワーク「Ruby on Rails」の最新バージョン「Ruby on Rails 8.0」(以下、Rails 8)の正式リリースが発表されました。
Rails 8.0: #NOBUILD, #NOPAAS, all-in on SQLite as a production database option with jobs, cache, and cable, new authentication generator, and so much more! Final release is out https://t.co/qom10worLW
— DHH (@dhh) November 7, 2024
Rails 8では、いままで高速なデータ操作のために必要とされてきたRedisおよびMySQLやPostgreSQLなどを用いることなく、SQLiteだけで本番用データベースをまかなうことが可能になっています。
Rails 8の新機能については、作者であるDHH氏がRails World 2024の基調講演で紹介した内容をまとめた記事「DHH氏がRails 8の新機能を解説。Redisなど不要になり、SQLite対応でよりシンプルな構成に。Rails World 2024」を先月(2024年10月)公開しています。
その内容をあらためてまとめましょう。
認証機能のコードを生成
Rails 8では認証機能をコード生成によって提供します。プログラマは自分で認証機能を実装する必要はなく、生成されたコードを見ることでどのような認証処理が行われているかを理解できます。
JavaScriptとCSSをWebブラウザに効率的に配信するために、これまでのSprocketsに変わってPropshaftと呼ばれるアセットパイプラインツールがデフォルトで採用されます。
SQLiteで本番用データベースを構築可能
Rails 8ではプライマリデータベース、キャッシュ、キュー、ケーブルのすべてがSQLiteでまかなえるようになったとコンフィグレーションが示されました。それを実現するのがSolidツール群です。
Solid Cableは、SQLiteを用いてもインメモリデータベースのRedis並の速度で通信メッセージをリレーするPubSubサーバを実現できます。
Solid Cacheは、これまでRedisやMemcachedなどのインメモリデータベースにHTMLフラグメントをキャッシュしていた仕組みを、SQLiteで置き換え可能にします。
Solid Queueはジョブ管理のためのツールです。これまで必要だったRedisを不要にし、MySQL、PostgreSQL、SQLiteのメジャーなデータベースで高速性を実現します。
新しいHTTP/2プロキシやデプロイツール
高速でセキュアな通信を実現するHTTP/2プロキシである「Thruster」と、クラウドやコンテナやさまざまな環境に簡単にデプロイできるデプロイツール「Kamal 2」も採用されました。
参考:Railsを高速かつセキュアにするHTTP/2プロキシ「Thruster」、37signalsがオープンソースとして公開
今後は6カ月ごとに新バージョンが登場
これまでRailsは不定期にバージョンアップが行われてきましたが、今後は6カ月ごとにバージョンアップが行われ、2年間のセキュリティルールが適用されることなども発表されています。
- 新機能を含む新バージョンを6カ月ごとにリリース
- マイナーリリースでは最初のリリースから1年間のバグ修正
- マイナーリリースでは最初のリリースから2年間のセキュリティ修正
例えば、今年8月にリリースされたRails 7.2(Rails 7.2.x)では来年(2025年)8月までバグ修正が、再来年(2026年)8月までセキュリティ修正が提供されます。
今回のRails 8も来年11月まではバグ修正が、再来年11月まではセキュリティ修正が提供される見通しです。
よりシンプルな構成で本番環境に対応し、上記のように明確なリリーススケジュールが定められたことで、Railsは以前よりも企業にとって導入しやすいフレームワークになることが期待されます。