Story and motivation
In 2012, Dahl handed over management to an employee so that he could turn to other projects. The OpenJS Foundation has been responsible for further development since 2019. It releases a new version every six months, usually in April and October. A version with long-term support appears once a year and is maintained for up to 30 months. Node.js is completely free open source software and is under the MIT license.
How Node.js works
Unlike many server-side languages such as PHP, Node.js uses “non-blocking I / O”. Programs do not have to wait for input / output functions to return. With the help of callback functions, they notify the calling function of their termination and thus enable asynchronous and parallel execution. This means that many simultaneous client requests can be processed more quickly and more smoothly.
Areas of application of Node.js
Although Node.js is mainly used for server programs and network tools, the platform is not limited to this. In addition to network-oriented command line tools, general tools for system administration are also possible. With the help of modules such as node-ncurses or drawille, full-screen terminal programs such as the vtop system monitor can be programmed.
Node.js can serve as a backend for web applications such as content management systems or forums, but also for web apps and desktop applications. Among other things, the Electron framework is based on the combination of Chromium and Node.js. Several popular desktop applications were developed with Electron. These include the code editors Atom and Visual Studio Code, Microsoft Teams as well as the Messenger Signal and Skype.
Classically structured desktop applications that do not follow the WebApp architecture are also possible with Node.js. The NodeGUI module can be used to program graphical interfaces based on the Qt5 GUI framework. There are packages such as nodegl and sdl2-link for games and 3D graphics.