![Sails.js in Action cover](https://drek4537l1klr.cloudfront.net/mcneil/Figures/cover.jpg)
About this Book
The development of Sails began entirely by accident. Over the course of 2011 and 2012, Mike built several Node.js apps. Like many early Node.js users, he ended up organically accumulating code he could reuse across different projects. As you may already know, that works great for a while, but what he needed was a framework.
But there wasn’t an MVC framework for Node.js yet. Most projects at that time directly incorporated two modules—Express and Socket.IO—which are great but were never intended to be used as complete web frameworks. We had to write database queries by hand and make crucial structural decisions on a case-by-case basis. This made it hard to build (and especially maintain) Node.js apps without a great deal of prior experience—not only with Node’s core libraries and module system but also with backend apps in general.
Not to mention that back in those days the community was full of brilliant hobbyists and tinkerers, but the software industry scoffed at using Node.js on anything serious. Challenging that mindset was the grail for the first years of Sails.js—like many of us, Mike believed in the power of Node.js and wanted to use it at work. He proselytized for months. But alas, some things just aren’t meant to be.