Realtime MVC Framework for Node.js
Sails.js is a web framework that makes it easy to build custom, enterprise-grade Node.js apps. It is designed to resemble the MVC architecture from frameworks like Ruby on Rails, but with support for the more modern, data-oriented style of web app & API development. It's especially good for building realtime features like chat.
Since version 1.0, Sails supports
awaitout of the box. This replaces nested callbacks (and the commensurate error handling) with simple, familiar usage:
var orgs = await Organization.find();
$ npm install sails -g ```
Upgrading from an earlier version of Sails?
If ES8 isn't for you, don't worry-- Node callbacks and promise chaining are still fully supported. But for most teams, the transition toawaitresults in sizable gains in productivity, with fewer lines of code.
Upgrade guides for all major releases since 2013 are available on the Sails website under Upgrading.
Create a new app: ```sh
sails new my-app ```
Lift sails: ```sh
sails lift ```
For the most up-to-date introduction to Sails, get started here.
Sails actions are compatible with Connect middleware, so in most cases, you can paste code into Sails from an existing Express project and everything will work-- plus you'll be able to use WebSockets to talk to your API, and vice versa.
The ORM, Waterline, has a well-defined adapter system for supporting all kinds of datastores. Officially supported databases include MySQL, PostgreSQL, MongoDB, Redis, and local disk / memory. Community adapters exist for CouchDB, neDB, SQLite, Oracle, MSSQL, DB2, ElasticSearch, Riak, neo4j, OrientDB, Amazon RDS, DynamoDB, Azure Tables, RethinkDB and Solr; for various 3rd-party REST APIs like Quickbooks, Yelp, and Twitter, including a configurable generic REST API adapter; plus some eclectic projects.
For the latest core adapters and notable community adapters, see Available Adapters.
There are many different ways you can contribute to Sails: - answering questions on StackOverflow, Gitter, Facebook, or Twitter - improving the documentation or website - translating the documentation to your native language - writing tests - writing a tutorial, giving a talk, or supporting your local Sails meetup - troubleshooting reported issues - and submitting patches.
Sails is actively maintained with the help of many amazing contributors. Our core team consists of:
|Mike McNeil||Rachael McNeil||John Abrams||Madison Hicks||Eric Shaw|
Our company designs/builds Node.js websites and apps for startups and enterprise customers. After building a few applications and taking them into production, we realized that the Node.js development landscape was very much still the Wild West. Over time, after trying lots of different methodologies, we decided to crystallize all of our best practices into this framework. Six years later, Sails is now one of the most widely-used web application frameworks in the world. I hope it saves you some time! :)
MIT License Copyright © 2012-present, Mike McNeil