介紹
Sails.js是一個Web框架,可輕鬆構建自定義的企業級Node.js應用程式。它的設計類似於Ruby on Rails等框架的MVC體系結構,但支援Web應用程式和API開發的更現代,面向資料的方式。這對於構建諸如聊天之類的實時功能特別有幫助。
var orgs = await Organization.find();var orgs = await Organization.find();開源首頁https://github.com/balderdashy/sails
相關特性Sails是基於Node.js,Express和Socket.io構建的
純粹的Javascript既然是Nodejs應用,建立在Sails之上意味著您的應用完全使用JavaScript編寫
支援眾多資料庫Sails捆綁了一個強大的ORM,即Waterline,它提供了一個簡單的資料訪問層,你可以使用很多資料庫ORM(Waterline)定義完善的介面卡系統,可支援各種資料儲存。官方支援的資料庫包括MySQL,PostgreSQL,MongoDB,Redis和本地磁碟/記憶體。存在針對CouchDB,neDB,TingoDB,SQLite,Oracle,MSSQL,DB2,ElasticSearch,Riak,neo4j,OrientDB,Amazon RDS,DynamoDB,Azure表,RethinkDB和Solr的社群介面卡;適用於各種第三方REST API,例如Quickbooks,Yelp和Twitter,包括可配置的通用REST API介面卡等等
自動生成的REST APISails附帶了blueprint,可幫助快速啟動應用程式的後端,而無需編寫任何程式碼。
輕鬆的WebSocket整合由於Sails翻譯了傳入的套接字訊息,因此它們自動與Sails應用程式中的每條路由相容
宣告性,可重用的安全策略預設情況下,Sails以策略的形式提供基本的安全性和基於角色的訪問控制,在控制器和action之前執行可重用的中介軟體功能。大大簡化了業務邏輯並減少了需要編寫的程式碼總量。策略可以與Express / Connect中介軟體互換,這意味著可以插入流行的npm模組(如Passport)
穩健的基礎Sails建立在Node.js的基礎之上,Node.js是一種流行的輕量級伺服器端技術,允許開發人員使用JavaScript編寫快速,可擴充套件的網路應用。Sails使用Express來處理HTTP請求,幷包裝socket.io來管理WebSockets。因此,如果應用程式確實需要進行底層程式設計,則可以訪問原始的Express或socket.io物件。另一個不錯的功能是,現有的Express路由在Sails應用程式中可以很好地工作,因此遷移現有的Node應用程式很容易。
總結
Sails由於其封裝express和socket.io,對於構建實時性較強的應用相較於其他框架來說是友好的,比如聊天類的應用,框架的功能十分的強大,官方也提供了比較全面的文件,遺憾的是隻有英文的,但是藉助瀏覽器翻譯是可以理解的。