3 ms·
Sails was a disaster for a startup I joined 4 years ago. We spent countless hours working around it and eventually ripped it out with great pain because of an i
by ruffrey 9y ago
Sails was a disaster for a startup I joined 4 years ago. We spent countless hours working around it and eventually ripped it out with great pain because of an impossible upgrade path. There are so many JavaScript antipatterns and unnecessary abstractions. Everything offered by this framework would be better accomplished by cleaner, loosely coupled individual modules like Express, socket.io, node-config, and Bookshelf.
Sails made the inexcusable choice of exposing everything globally.
Waterline tries to be a single ORM for all DBs. This is not a good idea. When I used it, it made a mess of redis by leaking these weird indexes it invents to support it's paradigms. The SQL pieces do not support joins or transactions with any amount of sanity. Use sequelize.js or Bookshelf/knex instead. Waterline can't hold a candle to the stability and expressiveness of Mongoose for mongodb. And so on.
The creator of these projects is a super smart and nice guy. But the community isn't strong enough to make this framework top notch like, say express or hapi. Sails glues things together in a way that is useful for iterating quickly as a newbie, but you can't build a realtime SaaS on it.
- timrichard 9y agoI ripped it out of a startup too, but can't really add much to your excellent summary. I also remember bloat, stability issues, and being locked into old dependencies. I was relieved when I had the goahead to mothball that project and build a new MVP using plain Express and Knex.
- ruffrey 9y agoYeah - being locked into old dependencies, and old versions of Node, ultimately made us rip it out (with much pain).