Node JS first appeared in 2010 and since that has been rocketing in the sky of web development. It has broken all previous concepts and beliefs. It was like a small DOS diskette of young Bill Gates that pushed huge players of operating systems out of the personal computer market.
There were 2 biggest achievements that improved the performance. First is to have a web server in the user application space. Traditional HTTP servers call user applications via CGI or Fast CGI. It introduces one more level of inter-process communication and often becomes a bottleneck. In case of Node Js the web server is a part of application and requires no additional communication. This is especially beneficial for small applications that do not need all the power of Apache or NginX.
The last advantage is that the same programming language and even same libraries are used for server and client side application. It greatly reduces learning curve and development resources.
Now Node JS has become very mature. Lot of supporting tools have been developed around it. Combined with new client side frameworks like Angular JS or Vue JS and MongoDB noSQL database, it provides super powerful, completely open source development environment for small and middle size web applications.
Yet building a bigger reliable and scalable WEB platform on the base of Node Js poses many challenges. Creating production deployment is more difficult than with more developed LAMP or IIS and can become quite expensive in terms of human resources and time.
AgriCom uses Node JS for its server application Agri Commander. It lets us achieve very high performance with little resources and greatly reduce cost of the end products.