I published this essay Contrasting Enterprise Node.js Frameworks: Hapi vs. Kraken vs. Sails.js vs. Loopback on the Capital One engineering blog . Feel free to leave a comment! Here’s a blurb:
Node.js/Io.js is a non-blocking I/O platform based on the JavaScript language. It has been capturing the hearts and minds of software developers for the past couple of years. It has been doing this not only for developers in startups And small companies, but more interestingly for enterprise developers as well. For example, PayPal, LinkedIn, Walmart, Netflix, eBay, Uber and other tech giants switched from Java and the likes to Node. Its popularity is attributed to better performance and having one language (JavaScript) for all layers: back-end, database and front-end.
As with any new platform, there are a lot of Node.js/Io.js frameworks to choose from. However, before we proceed, we need to define what enterprise means. For the sake of simplicity, an enterprise project is one where you have teams of more than 10 developers working on it, where you have huge traffic to handle and high stakes, meaning the services must be running 24x7x365.
Judging frameworks is highly subjective. When it comes to building enterprise-level applications, we need to consider some of the following things:
- Best practices and patterns: Whether the framework is DIY or provides clear patterns to use.
- Configuration: How easy it is to configure the framework.
- Convention: Is there a convention to follow if that’s the preferred route?
- Horizontal scaling: How easy it is to scale apps built with this framework.
- Testing: How to test the application.
- Scaffolding: How much developers have to code manually vs. using built-in code generators.
- Monitoring: How to monitor the application
- Track record: How proven a framework is, i.e., who supports it and how well it is maintained.
- Integration: How rich the ecosystem of plugins/connectors is.
- ORM/ODM: Is there an object relational/document mapper.
While performance is important, it varies on the requirements and business logic of a particular project. Running meaningful benchmark tests is non-trivial.
The main focus of this post is to compare the four Node.js/Io.js frameworks: Hapi, Kraken, Sails.js and Loopback.
The full essay is at http://www.capitalone.io/blog/contrasting-enterprise-nodejs-frameworks.
Well I guess at least the good news is that you don’t need to write Node.js/Io.js anymore, just Node.js ;)