We used NodeJS for the Lifeshifter project as we were looking for a lightweight solution which would allow them to grow. It would host a simple REST api connected to a database. Due to limitations of the hosting provider we made use NodeJS' flexibility to also serve the static assets including the front-end application, without having another server. The npm ecosystem allowed us to drop in well trusted database drivers, routing, process management and an ORM to make development smoother. We also used an open source package written by one of the Theodo architects to remove boilerplate from creating the REST api from our data model.
Node.js' approach allows us to write a server which can handle hundreds of thousands of concurrent users on relatively modest hardware, all without having to worry about the multi threading issues which often plague non-event-driven systems. This ensures highly performant real time web applications with high connectivityLARGE COMMUNITY AND ECOSYSTEM
Node.js packages exist for almost any technology that it can interface with. There are over 250,000 modules on npm (node packager manager), many of them downloaded more than 100,000 times per day. This means that we don't need to waste time building support for other tools and can focus on business problems, while being confident that the modules are heavily used and tested. This means rapid, effective development of complex applications
GET STARTED QUICKLY
There is little boilerplate in a Node.js server so we can can start working on features rapidly. The amazing performance of Node.js comes out of the box rather than requiring a lot of up-front work. This means that we can deliver rapid results.
Yunong Xiao, Principal Software Engineer at Netflix