DHH氏がRails 8の新機能を解説。Redisなど不要になり、SQLite対応でよりシンプルな構成に。Rails World 2024

今回は「DHH氏がRails 8の新機能を解説。Redisなど不要になり、SQLite対応でよりシンプルな構成に。Rails World 2024」についてご紹介します。

関連ワード (丁寧、十分、検索等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


9月26日と27日の2日間、カナダのトロントで開催されたRails World 2024の基調講演で、Ruby on Rails(以下Rails)の作者であるDHH(David Heinemeier Hansson)氏が「Rails 8」の主な新機能を紹介しました。

The #RailsWorld 2024 Opening Keynote with @dhh is now online. Rails 8 beta shipped with Authentication, Propshaft, Solid Cache, Solid Queue, Solid Cable, Kamal 2.0, and Thruster. #NoPaaS needed in the One Person Framework. Watch it here: https://t.co/cjpDgczX9Z pic.twitter.com/Iubd6zhbEh

— Ruby on Rails (@rails) September 27, 2024

2021年に登場したRails 7では、JavaScriptの進化やHTTP/2の普及などによりトランスバイラやバンドリングをなくしてNode.jsを用いない構成がデフォルトとなることで、Railsのビジョンとしてシンプルなシステムを指向することが明確に示されました。

参考:Rails 7.0正式リリース、Node.js不要のフロントエンド開発環境がデフォルトに

Rails 8ではこのシンプルな構成がさらに推し進められ、いままで高速なデータ操作のために必要とされてきたRedisおよびMySQLやPostgreSQLの機能や性能をSQLiteだけで置き換えることを可能にする「Solid」や、よりシンプルで高速になったデプロイツール「Kamal 2」、高速なHTTP/2プロキシ「Thurster」などの新機能が組み込まれています。

DHH氏によるRails 8の新機能の紹介を短くまとめました。

Rails World 2024の基調講演に立つDHH氏Rails World 2024の基調講演に立つDHH氏

Rails 8の主な新機能

DHH氏が1つ目に減給したRails 8の新機能はAuthentication(認証)でした。

Rails 8の新機能Authentication(認証)のコード生成

DHH氏は、プログラマは認証についてなにが起きているのかを知らなければならないとして、Rails 8では認証機能をコードの生成によって提供すると紹介しました。

これによりプログラマはどのように認証が行われるのかをコードを見て学ぶことができます。

DHH氏はコードを示しながら「美しいコードだ。なぜなら、私が心を込めて丁寧に手作りでコーディングしたからね」と観客の笑いを誘いました。

認証機能をコードの生成によって提供

DHH氏が次に言及したのが「Propshaft」です。

Rails 8の新機能Propshaft

Propshaftはアセットパイプラインと呼ばれるツールで、JavaScriptとCSSをWebブラウザに効率的に配信するために使われます。

Rails 7まではSprocketsと呼ばれるツールが使われていましたが、Rails 8ではビルドをなくすというRailsのビジョンに沿って、よりシンプルなツールとしてのPropshaftがデフォルトで採用されることになりました。

Rails 8はSQLiteだけでデータベースを完結

続いてDHH氏はSolidツール群の説明に移ります。

Rails 8はSQLiteだけでデータベースを完結

これまでモダンなWebアプリケーションではキューやキャッシュやジョブ管理にさまざまなデータベースが用いられていました。

しかし現代のデータベースは十分に高速になったことで、これらを1つのデータベースシステムにまとめることが可能になったとDHH氏。

Rails 8においては、ソケットによる通信のための「Solid Cable」、キャッシングのための「Solid Cache」、ジョブ管理のための「Solid Queue」はすべて1つのデータベースシステムで支えられるようになりました。

そしてそれをSQLite上に構築できるようになりました。

Rails 8ではプライマリデータベース、キャッシュ、キュー、ケーブルのすべてがSQLiteでまかなえるようになったとコンフィグレーションが示されました。それを実現するのがSolidツール群です。

Rails 8ではプライマリデータベース、キャッシュ、キュー、ケーブルのすべてがSQLiteで

Solidツール群の1つ目は「Solid Cable」です。

「Solid Cable」

RailsにはWebSocketを用いてクライアントとサーバ間の通信をリアルタイムに行える仕組みがあります。これまでその通信メッセージをリレーするPubSubサーバとしてインメモリデータベースのRedisが必要でした。

Solid CableはSQLiteを用いてもRedis並の速度を実現できるというものです。

Solid CableはSQLiteだけでRedis並の速度を実現

Solid Cacheは、これまでRedisやMemcachedなどのインメモリデータベースにHTMLフラグメントをキャッシュする仕組みを置き換えます。

fig

Solid Cacheの導入により、このタイミングでWebサイトのリクエストに対するレイテンシが400ミリ秒から200ミリ秒になったことが示されました。

fig

Solid Queueはジョブ管理のためのツールで、これまで必要だったRedisを不要にし、MySQL、PostgreSQL、SQLiteのメジャーなデータベース上で高速に動作します。

Solid Queue

ThrusterとKamal 2

Thrusterは、デフォルトで導入される高速でセキュアな通信を実現するHTTP/2プロキシです。

HTTP/2プロキシのThruster

参考:Railsを高速かつセキュアにするHTTP/2プロキシ「Thruster」、37signalsがオープンソースとして公開

Kamal 2はクラウドやコンテナやさまざまな環境にスケールアップでもスケールダウンでも指定して簡単にデプロイできるデプロイツールです。

デプロイツールKamal 2

DHH氏はこの基調講演と同時に、Rails 8のベータ版が公開されたことも発表し、さらにRails 8の次のRails 8.1の機能についても言及しています。

それについては別記事「Rails 8の次、Rails 8.1にはWebプッシュ通知、Elasticsearchを不要にするActive Record検索などを搭載するとDHH氏が説明」をご参照ください。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
MacでWindowsを動かせる「Parallels Desktop」最新版–Touch ID対応など多数の改良
IT関連
2023-08-29 08:21
富士通とAWS、モビリティーDXのグローバル展開で協業
IT関連
2021-05-13 12:59
技術者がいなくても文書処理をAI化できるノーコードプラットフォームのLang.aiがシードで2.1億円調達
人工知能・AI
2021-02-12 09:53
「macOS」で使える音楽プレーヤー4選
IT関連
2024-04-07 01:08
GaudiyがNFTや分散型IDなどブロックチェーン技術を活用しファン体験を統合する新規ゲームIPパートナーを募集
ブロックチェーン
2021-06-18 05:11
アップルが世界中の製造パートナー110社以上が製品製造に利用する電力を100%再生可能エネルギーに変更と発表
EnviroTech
2021-04-02 08:02
パーセフォニ、温室効果ガス排出などの情報開示を支援する日本向け新機能
IT関連
2022-11-11 06:13
日立、「プロ人財視える化・育成ソリューション」を提供–各職種に特化した人材育成を支援
IT関連
2024-03-17 13:29
トーバルズ氏が語る「Linux」メンテナーの高齢化と後継者問題–20周年の「RTLinux」にも言及
IT関連
2024-09-21 11:51
九州電力送配電、発電側課金計算システムに「RISE with SAP」を採用
IT関連
2024-07-25 05:49
作品応募数175点、本物の「忍びの地図」など「obniz IoT コンテスト2021」最優秀賞・優秀賞を発表
IoT
2021-06-02 04:49
ファンの楽園に異変、Tumblrのベータサブスクリプション機能にユーザーが猛反発
ネットサービス
2021-08-03 20:57
ヴィーム、バックアップソフト最新版「Veeam Backup & Replication v11」を発表
IT関連
2021-02-26 06:42
2021年に「Skype飲み」してみた “Zoom飲み”よりいい感じ?
最近の注目ニュース
2021-04-30 04:40