SailsJS alternatives and similar modules
Based on the "Web Frameworks" category.
Alternatively, view SailsJS alternatives based on common mentions on social networks and blogs.
-
Meteor
An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework. (You might like awesome-meteor) -
Express
A minimal and flexible web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications. -
Nest
A progressive Node.js framework for building efficient and scalable server-side applications on top of TypeScript & JavaScript (ES6 / ES7 / ES8) heavily inspired by Angular ๐ป๐ -
Koa
A new web framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs. -
AdonisJs Framework
NodeJs Web Application Framework. Makes it easy for you to write webapps with less code ๐ -
TypeGraphQL
Modern framework for creating GraphQL APIs with TypeScript, using classes and decorators. -
Derby
MVC framework, making it easy to write realtime, collaborative applications that run in both Node.js and browsers. -
Quick Start
๐ A Node.js Serverless Framework for front-end/full-stack developers. Build the application for next decade. Works on AWS, Alibaba Cloud, Tencent Cloud and traditional VM/Container. Super easy integrate with React and Vue. ๐ -
ActionHero
Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients. -
Marble.js
Functional reactive framework for building server-side apps, based on TypeScript and RxJS. -
Interfake
Rapid prototyping framework for making mock HTTP APIs, with a Node.js, command-line and HTTP interface. -
dawson-cli
A serverless web framework for Node.js on AWS (CloudFormation, CloudFront, API Gateway, Lambda) -
AdonisJs Application
This repo is the pre-configured project structure to be used for creating ambitious web servers using AdonisJs. -
Restberry
Framework for setting up RESTful JSON APIs, applied to your database models without needing to write any code. -
express-version-route
A Node.js express middleware that implements API versioning for route controllers -
QueryQL
Easily add filtering, sorting, and pagination to your Node.js REST API through your old friend: the query string! -
Coher3nTS Project
Cross-platform project template using Electron and Angular with the Phaser game engine. Project has Flexbox integrated for easy and responsive organization of components around the Phaser canvas. -
searchkit
GraphQL API & React UI components for Elasticsearch. The easiest way to build a great search experience
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of SailsJS or a related project?
README
Website Get Started Docs News Submit Issue
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 await
out of the box. This replaces nested callbacks (and the commensurate error handling) with simple, familiar usage:
var orgs = await Organization.find();
Installation
# Get the latest stable release of Sails
$ npm install sails -g
Upgrading from an earlier version of Sails?
Available as of Node >=v7.9 and Sails >=v1.0, ES8's async/await enables dramatic improvements to the way developers build Node.js / Sails apps. It allows server-side JavaScript code to be written with the
await
keyword, instead of lower-level (and more fragile) flow control mechanisms like nested callbacks and promise chains. It lets developers breathe easier by removing the burden of painstaking, manual error handling after every database query. And best of all, it means the end of "callback hell": the most common source of bugs and stability issues in real world Node.js / Sails applications.If ES8 isn't for you, don't worry-- Node callbacks and promise chaining are still fully supported. But for most teams, the transition to
await
results 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.
Your First Sails Project
Create a new app:
# Create the app
sails new my-app
Lift sails:
# cd into the new folder
cd my-app
# fire up the server
sails lift
For the most up-to-date introduction to Sails, get started here.
Compatibility
Sails is built on Node.js, Express, and Socket.io.
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.
<!-- Core adapter logos --> <!-- /core adapter logos -->
For the latest core adapters and notable community adapters, see Available Adapters.
Tutorial Course
- Full-Stack JavaScript with Sails.js and Vue.js, taught by Mike McNeil (in English, with optional Spanish subtitles)
Books
- Sails.js in Action by Mike McNeil and Irl Nathan (Manning Publications).
- Sails.js Essentials by Shaikh Shahid (Packt)
- Pro Express.js: Part 3 by Azat Mardan (Apress).
Support
Need help or have a question?
Issue Submission
Please read the submission guidelines and code of conduct before opening a new issue. Click here to search/post issues in this repository.
Contribute
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.
Please carefully read our contribution guide and check the build status for the relevant branch before submitting a pull request with code changes.
Links
Team
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! :)
License
MIT License Copyright ยฉ 2012-present, Mike McNeil
Sails is built around so many great open-source technologies that it would never have crossed our minds to keep it proprietary. We owe huge gratitude and props to Ryan Dahl (@ry), TJ Holowaychuk (@tj), Doug Wilson (@dougwilson) and Guillermo Rauch (@rauchg) for the work they've done, as well as the stewards of all the other open-source modules we use. Sails could never have been developed without your tremendous contributions to the JavaScript community.
*Note that all licence references and agreements mentioned in the SailsJS README section above
are relevant to that project's source code only.