Node.jsのWebフレームワーク「Sails」を使ってpub/subアプリを作ってみる
近未来の技術トレンドを先取り! 「Tech-Sketch」出張所 第11回
本連載ではTIS株式会社が提供している技術ブログ「Tech-Sketch」から「コレは!」というテーマをピックアップし、加筆修正して皆様にお届けしています。今回はNode.js上で利用できるMVCフレームワークであるSailsについて取り上げたいと思います。
Sailsとは
Sailsは米国オースティンにあるBalderdash社のMike McNeilさんを中心として作成されているMVCフレームワークです。スタイルとしてはRailsに近い形を取りつつ、最近のWebアプリ開発に向けたいくつかの特徴を持っています。
主な特徴としては
- Web APIを簡単に作成し、公開できる
- リアルタイムWebなアプリケーションが簡単に作成できる
- Single Page SiteやMobileなどの多様なフロントエンドに対応できる
といったようなものが挙げられます。
Web APIについてはJSONベースのRESTfulなAPIが簡単に作れるようになっています(Sails API blueprints)。特にAPIを作るという意識をせずとも、generatorによって単純なCRUDならすぐにAPIとして公開することができます。ルーティングについても、この手のフレームワークではすでに標準的ですが、RESTを意識したルーティングがデフォルトで採用されています。
リアルタイム対応については、始めからSocket.ioとWebSocketが利用できるようにサポートされており、便利なビルトインのメソッドも用意されています。
Single Page SiteやPhoneGap、Chrome ExtensionのようなWeb APIベースで作成されるサイトやアプリを作成する場合の対応も組み込まれています。用意されているsails buildスクリプトを利用すれば、プロダクション環境へのデプロイ時に必要なフロントエンド構成を出力できます。その他、CORS(Cross Origine Resource Sharing)対応、CSRFなどのセキュリティ対策も組み込みでサポートされています。
また、ミドルウェアにはExpressが採用されていますので、すでにあるExpressで構築されたWebアプリとの互換性も比較的容易に確保することができます。
アプリを作ってみる
それではさっそくSailsを使った簡単なアプリ作成を行っていきます。今回はSailsに用意されているsocket.ioを利用したpub/subを簡単に実装できる仕組みを利用してチャットアプリを作ってみます。socket.ioについては、以前のTech-Sketch出張所の記事で扱っていますので、より詳しく知りたい方はそちらの記事も参考にしてください。
Sailsを使う準備
今回利用するnode.jsとsailsのバージョンは次のとおりです。
- Node.js v0.10.25
- Sails v0.9.9
Node.jsの環境については、直接単独のバージョンをインストールするか、もしくはnodebrewやnvmなどのバージョンマネージメントツールを利用して用意してください。Node.jsの環境が準備できたら、以下のとおりnpmコマンドを実行してSailsをインストールします。
$ npm install -g sails
Sailsのインストールが無事終了したら、sailsコマンドが実行できるようになります。sailsコマンドはアプリのひな形などを作成したり、Sailsアプリを起動する時に利用します。この辺りはRailsのrailsコマンドと同じですね。では実際にひな形を作っていきます。
この記事は参考になりましたか?
- 近未来の技術トレンドを先取り! 「Tech-Sketch」出張所連載記事一覧
- この記事の著者
-
佐伯 純(TIS株式会社)(サエキ ジュン)
TIS株式会社 AIサービス事業部AIサービス企画開発部所属入社後、アジャイルで商品先物取引のシステム開発という当時としてはかなり尖ったチームに放り込まれ、以来SIerとは思えない辺境を歩き続けている。現在の部門に異動してからはRubyOnRailsを利用した社内向けサービスの開発に参加後、Andr...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
