Rails 5.0ベータ版が登場。Microservices対応の「API mode」、WebSocket用のフレームワーク「Action Cable」など
Ruby on Railsの次期バージョンとなる「Rails 5.0」のベータ版「Rails 5.0.0.beta1」の公開が発表されました。
Rails 5は、今年2015年4月にアトランタで行われた「RailsConf 2015 Atlanta」で、今年リリース予定だと開発者であるDHH(David Heinemeier Hansson)氏が明らかにしていたバージョンです。
このときDHH氏はRails 5を旅行者のバックパックに例え、個人の開発者のために必要なものが一通り揃っていることを追求しつつ、最近のMicroservicesへの要求にも応えられるように、APIを中心にしてそれ以外の機能を省略してスリムダウンできる「API mode」が備わる予定であることなどを発表しました。
「Rails 5 is mother of microservices! Wow!」(DHH氏、RailsConf 2015基調講演から)
APIを中心にスリムダウンされる「API mode」
今回のRails 5.0ベータ版の発表で、API modeは次のように説明されています。
Rails is not only a great choice when you want to build a full-stack application that uses server-side rendering of HTML templates, but also a great companion for the new crop of client-side JavaScript or native applications that just needs the backend to speak JSON. We've made this even clearer now with the new --api mode.
Railsは、HTMLテンプレートを用いてサーバサイドでのレンダリングを行うような、フルスタックのアプリケーションを構築するためだけの優れた選択肢ではありません。クライアントサイドのJavaScriptやネイティブアプリケーションのように、バックエンドとJSONで通信するようなアプリケーションのためのものでもあります。このことをより明確にするため、「API mode」を新しく備えました。
API modeでは、API以外の機能が省略されスリムダウンされたRailsが利用できるようになります。
WebSocket用フレームワーク「Action Cable」
Rails 5で提供されるもう1つの主要な機能「Action Cable」は、WebScoketを扱うためのフレームワークです。HTTPでポーリングなどをする必要なく、クライアントとサーバが必要なタイミングで簡単に通信が行えるようになります。
DHH氏はRailsConf 2015でチャットやノーティフィケーションがとても簡単に作れるようになると紹介していました。
Action Cableは、WebSocketを用いて張った「Cable」と呼ばれる1つのコネクションで、チャットやノーティフィケーションなど用途別の通信ができる「Channel」と、サーバサイドからユーザーに送信できる「Broadcaster」の機能が利用できるとのことです。
Railsはこれまで、シングルページアプリケーションのような、Webブラウザ側のJavaScriptで多くの処理を行う最近のWebアプリケーションとは相性が良くないと一部で言われていました。Rails 5の主要な機能となるAPI modeやAction Cableは、この課題の解決を目指したものだと考えられます。
下記は4月にアトランタで行われた「RailsConf 2015 Atlanta」のDHH氏による基調講演です。
あわせて読みたい
Chrome、バックグラウンドでデータを送受信する「Background Sync」APIが登場。ブラウザを閉じていてもデータ同期
≪前の記事
JSONストアサーバ「Kinto」。モバイルデバイスやWebブラウザとデータ同期可能、オフラインファーストにも対応、モジラがオープンソースで公開