Following is a list of some important features of Node.js that makes it the first choice of software architects.
- I/O is Asynchronous and Event Driven: All APIs of Node.js library are asynchronous i.e. non-blocking. So 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. It is also a reason that it is very fast.
- Single threaded: Node.js follows a single threaded model with event looping.
- Highly Scalable: Node.js is highly scalable because event mechanism helps the server to respond in a non-blocking way.
- No buffering: Node.js cuts down the overall processing time while uploading audio and video files. Node.js applications never buffer any data. These applications simply output the data in chunks.
- Open source: Node.js has an open source community which has produced many excellent modules to add additional capabilities to Node.js applications.
- License: Node.js is released under the MIT license.