JavaScript
Node.js
Sails.js

【Sails.js 入門 - 01】Sails.js とは

More than 5 years have passed since last update.

(走り訳なので・・・細かいニュアンスの違い・見落としはご容赦ください)

http://sailsjs.org/


What Is Sails.js?

Sails.js は、エンタープライズレベルの Node.js アプリを簡単に作成することができる。Rails のような MVC フレームワークを真似てはいるけれども、スケーラブルなデータ駆動API、サービス指向のアーキテクチャといったモダンなアプリの要求をサポートする。チャットやリアルタイムダッシュボード、マルチプレーヤのゲームをつくるのに特に向いている。


Features

Sails.js を使えば開発時間は、ぐっと小さくなる。世に出せるレベルのリアルタイムアプリを数ヶ月でなく、たった数週間で作れる!

Sails.js は、他の MVC フレームワークができないことができる:


  • Sails.js は、データベース不可知。 ORM である Waterline は、どのデータベースに対しても動作するシンプルなデータアクセス層を提供する。しなければいけないことは、コミュニティで作られたアダプタをひとつプラグインすることだ。もし、レアないしはプロプライエタリなシステムに繋ぎたいときも、独自のアダプタを書くのはたやすい!


  • Sails.js は、自動的に RESTful JSON API を作成するよ。つまり、シンプルなデータベースアプリであれば、バックエンドのコードを書かなくていいってことだ!


  • リアルタイム Socket.io リクエストは他のすべてと同じように、コンベンションとURLマッピングによって、コントローラにルーティングされる。 リアルタイムアプリにしたい時も、アプリ全体を再作成する必要がないってこと。


  • Sails.js は、既定で基本的なセキュリティ機構とロール制御を提供するし、好きなようにカスタムのポリシーを追加できる。柔軟なマッピングによって、コントローラやアクションに様々なアクセス制御をかけられるし、パラメータのバリデーションも適用できる。そうすれば、ビジネスロジックを書き始める前に、ユーザーに権限があることがわかり、必要なすべてのデータが既に得られていることになる。


  • Express と Socket.io は、同一の設定可能なセッションストアを共有するから、すべてのセキュリティポリシーは WebSocket リクエストでも同様に再利用される。


  • Sails.js は、自動的にアセットのコンパクト化をおこなう。過去には、UI の CSS と JavaScript は手動でリンクしなければならなかったが、Sails.js なら、 適切なフォルダに入れておけば自動的にレイアウトに含まれる。 そして、本番化の準備ができたなら、コンパクト化されgzipが掛けられる。これは CloudFront のような CDN に置き換えることも簡単にするし、ロードを速くする。


as of 2013.5.31