In simple terms, node.js is an open source, cross platform run time environment for server side and networking applications. It brings the event driven programming to web servers, hence enabling the development of fast web servers in Java Script.
Let’s understand the basics first. In an event driven application, there is one main loop that continuously listens for events and when an event occurs, it triggers the appropriate call back function. Node.js also provides a non-blocking I/O API that optimizes an application’s throughput and scalability because the events are executed in parallel and callbacks are used to signal completion.
Here are some of the benefits of node.js
Node.js is built to effectively handle asynchronous I/O and helps solve a number of common web and network related problems. Furthermore, it has the ability to scale to a large volume of clients and all of the I/O intensive operations in Node.js are performed asynchronously.
Real time web apps
Node.js supports caching. This means that when a module is requested for the first time, it is cached so that the next time it can be used directly.
Light weight and extensible
It supports the exchange of data using JSON – this makes is comparatively lightweight as compared to any of the other frameworks. It is also open source and hence you can expand it as much as your business required.
REST API Support
Using Node.js you can also develop RESTful services API easily.
Overall, if you are looking at creating real time web apps such as chat apps etc, node.js will be the best technology for these type of applications. Whether you are looking for building APIs that have the ability to handle a lot of requests that are I/O driven or you wish to build streaming applications, Node.js is the most suitable choice to build flexible and scalable solutions.