Node.js brings an event-driven approach to developing back-end applications, leading to lightweight efficient servers which support massive concurrency and high throughput.
Node.js is being used by small and large companies on the web and within enterprises. Leveraging the built in package system npm gives access to the largest ecosystem of open source software in the world.
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 connectivity
Node.js packages exist for almost any technology that it can interface with. There are over 250,000 modules on npm, 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
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.
Huge package ecosystem
High performance and amazing concurrency
Lightweight footprint - can run on cheap, virtualised servers
Well documented use in large-scale applications
Front-end and back-end can be written in the same language and share code
"NodeJS is incredibly powerful and allows me to build complex, real time digital solutions rapidly using the packages available. NodeJS allows us to quickly and effectively build highly performant web solutions for our clients"
We used node.js 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 of node.js' flexibility to also serve the static assets including the front-end application, without having to 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.
View case study