Node.jsĀ® is an open-source, cross-platform JavaScript runtime environment.
As an asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications.
Users of Node.js are free from worries of dead-locking the process, since there are no locks. Almost no function in Node.js directly performs I/O, so the process never blocks except when the I/O is performed using synchronous methods of Node.js standard library. Because nothing blocks, scalable systems are very reasonable to develop in Node.js.
HTTP is a first-class citizen in Node.js, designed with streaming and low latency in mind. This makes Node.js well suited for the foundation of a web library or framework.
Node.js unifying web-application development around a single programming language, rather than different languages for server-side and client-side scripts.