「Ruby on Rails 5」には「API mode」やWebSocket用「Action Cable」が加わる:最初のリリースから10年、進化するRails
Rails 5のRails 5のbeta1がリリースされた。Microservicesに対応するための「API mode」やWebSocket用「のAction Cable」などの機能が加わっている。
Ruby言語によるWebアプリケーション開発フレームワークである「Ruby on Rails(以降、Rails)」の次期メジャーバージョンアップ版「Rails 5」のbeta1が、2015年12月18日にリリースされました。
Rails 5は、2015年4月にアトランタで行われた「RailsConf 2015 Atlanta」で、年内にリリース予定だと開発者であるDHH(David Heinemeier Hansson)氏が明らかにしていたバージョンです。
このとき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氏によって翻訳されています。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- EJB、SOA、マイクロサービスへと至る大規模システム向けアーキテクチャの変遷
2000年前後からのアプリケーションアーキテクチャやEJB、SOAに触れながら、今後、大規模システム構築で主流になるであろう「マイクロサービス」アーキテクチャの意義と価値を考える。 - 双方向通信を実現! WebSocketを使いこなそう
リアルタイムな表示更新を行うWebアプリの開発で使われてきたAjaxとComet。その問題点を克服したWebSocketとは。 - 簡単インストールから始める初心者のためのRuby on Railsチュートリアル
エンタープライズ領域での採用も増えてきたRailsを使ってWebアプリケーションを作るための入門連載。初回はRailsの概要とMVCモデルとの関係、Rails 4の新機能・変更点、開発環境、インストール、scaffoldでアプリケーションを作る手順などを紹介します。