More about Node.js


Node.js also provides a rich library of various JavaScript modules which simplifies the development of web applications using Node.js to a great extent

Node.js = Runtime Environment + JavaScript Library

Installing Node and NPM is pretty straightforward using the installer package available from the Node.js web site.

First things first: you should have node.js installed on your computer and available on your PATH. If you do not, please download node.js now.

To ensure that you have node.js installed, open a command prompt and make sure the following commands exist and are at least the versions below:

node --version

Features of Node.js

Following are some of the important features that make Node.js the first choice of software architects.

  • Asynchronous and Event Driven All APIs of Node.js library are asynchronous that is, non-blocking. It essentially means a Node.js based server never waits for an API to return data. The server moves to the next API after calling it and a notification mechanism of Events of Node.js helps the server to get a response from the previous API call.

  • Very Fast Being built on Google Chrome's V8 JavaScript Engine, Node.js library is very fast in code execution.

  • Single Threaded but Highly Scalable - Node.js uses a single threaded model with event looping. Event mechanism helps the server to respond in a non-blocking way and makes the server highly scalable as opposed to traditional servers which create limited threads to handle requests. Node.js uses a single threaded program and the same program can provide service to a much larger number of requests than traditional servers like Apache HTTP Server.

  • No Buffering - Node.js applications never buffer any data. These applications simply output the data in chunks.

  • License - Node.js is released under the MIT license.

Who Uses Node.js?

Following is the link on github wiki containing an exhaustive list of projects, application and companies which are using Node.js. This list includes eBay, General Electric, GoDaddy, Microsoft, PayPal, Uber, Wikipins, Yahoo!, and Yammer to name a few.

Where to Use Node.js?

Following are the areas where Node.js is proving itself as a perfect technology partner.

  • I/O bound Applications

  • Data Streaming Applications

  • Data Intensive Real time Applications (DIRT)

  • JSON APIs based Applications

  • Single Page Applications

Where Not to Use Node.js?

It is not advisable to use Node.js for CPU intensive applications.