Blog Post

No logo
Introduction to Node.js

What is Node.js?

Node.js is a server-side platform built on Google Chrome's JavaScript Engine (V8 Engine). Node.js was developed by Ryan Dahl in 2009 and its latest version is v0.10.36.

Node.js is a platform built on Chrome's JavaScript runtime for building fast and scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

Node.js is an open source, a cross-platform runtime environment for developing server-side and networking applications. Node.js applications are written in JavaScript and can be run within the Node.js runtime on OS X, Microsoft Windows, and Linux.

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

Features of Node.js

Asynchronous and Event Driven − All APIs of Node.js library are asynchronous, or in other words, they are 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.

Fast Execution − 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?

This list includes eBay, General Electric, GoDaddy, Microsoft, PayPal, Uber, Wikipins, Yahoo!, and Yammer. These huge, well-known companies use Node.js in their Projects, Applications and Companies.

Concepts in Node.js

Some Important aspects of Node.js are Console, Cluster, Add-ons, Buffer, Callbacks, Crypto, Error Handling, Net, Global, Domain, DNS, Streaming, Debugger and Modules.

Where to Use Node.js?

Node.js is very powerful and useful in areas which are I/O bound Applications, Data Streaming Applications, Data Intensive Real-time Applications, JSON APIs based Applications and Single Page Applications.

Where Not to Use Node.js?

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