SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

近未来の技術トレンドを先取り! 「Tech-Sketch」出張所

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...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7696 2014/04/02 13:24

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング