「Ruby on Rails 5」には「API mode」やWebSocket用「Action Cable」が加わる最初のリリースから10年、進化するRails

Rails 5のRails 5のbeta1がリリースされた。Microservicesに対応するための「API mode」やWebSocket用「のAction Cable」などの機能が加わっている。

» 2015年12月22日 14時35分 公開
[新野淳一Publickey]

 Ruby言語によるWebアプリケーション開発フレームワークである「Ruby on Rails(以降、Rails)」の次期メジャーバージョンアップ版「Rails 5」のbeta1が、2015年12月18日にリリースされました。

 Rails 5は、2015年4月にアトランタで行われた「RailsConf 2015 Atlanta」で、年内にリリース予定だと開発者であるDHH(David Heinemeier Hansson)氏が明らかにしていたバージョンです。

「RailsConf 2015 Atlanta」の基調講演に登壇したDHH氏(動画より)

 このときDHH氏はRails 5を旅行者のバックパックに例え、個人の開発者のために必要なものが一通りそろっていることを追求しつつ、最近のMicroservicesへの要求にも応えられるように、APIを中心にしてそれ以外の機能を省略してスリムダウンできる「API mode」が備わる予定であることなどを発表しました。

APIを中心にスリムダウンされる「API mode」

 今回のRails 5 beta1の発表で、API modeは次のように説明されています。

Railsは、HTMLテンプレートを用いてサーバーサイドでのレンダリングを行うような、フルスタックのアプリケーションを構築するための優れた選択肢というだけではありません。クライアントサイドのJavaScriptやネイティブアプリケーションのように、バックエンドとJSONで通信するようなアプリケーションのためのものでもあります。このことをより明確にするため、「API mode」を新しく備えました

 API modeでは、API以外の機能が省略されスリムダウンされたRailsが利用できるようになります。

WebSocket用フレームワーク「Action Cable」

 Rails 5で提供されるもう一つの主要な機能「Action Cable」は、WebScoketを扱うためのフレームワークです。HTTPでポーリングなどをする必要なく、クライアントとサーバーが必要なタイミングで簡単に通信が行えるようになります。

 DHH氏はRailsConf 2015でチャットやノーティフィケーションがとても簡単に作れるようになると紹介していました。

 Action Cableは、WebSocketを用いて張った「Cable」と呼ばれる一つのコネクションで、チャットやノーティフィケーションなど用途別の通信ができる「Channel」と、サーバーサイドからユーザーに送信できる「Broadcaster」の機能が利用できるとのことです。

 Railsはこれまで、シングルページアプリケーションのような、Webブラウザー側のJavaScriptで多くの処理を行う最近のWebアプリケーションとは相性が良くないと一部で言われていました。Rails 5の主要な機能となるAPI modeやAction Cableは、この課題の解決を目指したものだと考えられます。

 下記は4月にアトランタで行われた「RailsConf 2015 Atlanta」でのDHH氏の講演は下記動画で確認できます。

動画が取得できませんでした

 また、Rails 5 beta1のリリースは、Ito Junichi氏によって翻訳されています。

(本記事はPublickeyから許可を得て@IT向けに加筆修正して転載しています。転載元

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。