This is what official Node.js website tells us, and this is where we suggest you to start learning Node.js.
A couple of years ago Elinext team made a decision to experiment with Node.js, and today we feel like it’s time to share our impressions with you.
Frankly speaking, our developers weren’t quite satisfied with these definitions, and least of all we wanted to work with a black box. That’s why we dug into a source code, standard library, and libuv library where all the asynchronous and nonblocking primitives were implemented.
Digging deeper: Node.js applications
The next step was to study all the applied libraries and tools. This allowed our team to understand how to work with Node.js and get outside of its strengths and weaknesses.
It turned out that there is no universal web framework that Node.js community concentrates on. We discovered some well-elaborated and powerful frameworks, and here are our favourites:
Express.js, known as a part of a popular MEAN stack, was probably the most efficient of the frameworks we tested. Our team was impressed by clearly arranged documentation, in comparison with Node.js documentation in general. The main benefits of Express.js lie in its routing capabilities, easy configuration and customization, and middleware modules that allow you to perform additional tasks on request and response.
Hapi.js. is very similar to Express.js, as it provides API for building HTTP servers in Node.js. However, Hapi.js is prominent for its rich set of features and plugins, while Express.js offers fewer out-of-the-box functionality. With that in mind, Hapi.js can cover a wider range of use cases which makes it a better fit for large-scale projects.
Koa.js has proven to be great fit for web applications and APIs. Our attention was drawn by generators Koa.js uses to work with callbacks and error-handling, thus making the application more readable.