As we all know, Node.js is an open source, cross platform run time environment for server side and networking applications. It brings event-driven programming to web servers that enable the development of fast web servers in Java Script.
In an event driven application, there is one main program that runs and then listens for events and triggers a call back function whenever it encounters an event. Node.js also provides a non blocking IO API that essentially optimizes the application’s throughput and scalability. In very basic terms, in a non blocking language, commands execute in parallel and make use of call backs to signal a completion. Well, in a blocking language commands execute only after the previous command has been completed.
Today, node.js is the most popular and widely used server side framework for small and large sized web applications.
Here are some of the advantages of node.js
Node.js is open source and there is no license fee to be paid. You can use it in any way and as many applications as you wish.
Node.js can be scaled both vertically as well as horizontally. This greatly helps improve the application performance. With horizontal scaling, you can add more nodes to the existing system and with vertical scaling; you can add more resources on a single node.
Node.js has features that support caching of the modules. With this feature, when a node.js module is requested for the first time, it is cached in the application memory. Next time the mode is called by the application, the entire code is not executed again – it simply looks into the cache.
Lightweight and extensible
Finally, in addition to its many capabilities, node.js has a thriving open source community which keeps improving it and develops a number of new and improvised modules that add new capabilities to the node.js applications!