近未来の技術トレンドを先取り! 「Tech-Sketch」出張所 第11回
佐伯 純(TIS株式会社) [著] 2014/04/01 14:00
このエントリーをはてなブックマークに追加

1 2 3 4 5 →

 本連載では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コマンドと同じですね。では実際にひな形を作っていきます。


1 2 3 4 5
→
INDEX
Node.jsのWebフレームワーク「Sails」を使ってpub/subアプリを作ってみる
Page1
Sailsとは
アプリを作ってみる
まとめ
こちらの関連記事もおすすめです

プロフィール
佐伯 純(TIS株式会社) サエキ ジュン

TIS株式会社 コーポレート本部 戦略技術センター所属

入社後、アジャイルで商品先物取引のシステム開発という当時としてはかなり尖ったチームに放り込まれ、以来SIerとは思えない辺境を歩き続けている。現在の部門に異動してからはRubyOnRailsを利用した社内向けサービスの開発に参加後、Androidなどモバイル系アプリの検証やWebなどの先進技術の検証に従事している。

現在はコンテキストアウェアなシステムの実現を夢見て機械学習やデバイスとWebの融合、IoT、WoTなどに手を出し始めたところ。


記事へのコメント・トラックバック機能は2011年6月に廃止させていただきました。記事に対する反響はTwitterやFacebook、ソーシャルブックマークサービスのコメントなどでぜひお寄せください。

スポンサーサイト