Node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code server-side. This lets developers use JavaScript for server-side scripting/running to produce dynamic web page content before the page sent to the user’s web browser. Consequently, Node.js represents a “JavaScript everywhere” paradigm, unifying web application development around a single programming language, rather than different languages for server side and client side scripts.

Though it’s the standard filename for JavaScript code, the name does not refer to a particular file in this context. It has an event-driven architecture capable of asynchronous I/O. These design choices aim to optimise throughput and scalability in web applications with many input/output operations and real-time Web applications.(e.g., real-time communication programs and browser games)

This is a development project, governed by the Node.js Foundation facilitated by the Linux Foundation’s Collaborative Projects program. Node.js registers with the operating system so the OS notifies it of connections and issues a callback. Within its runtime, each connection is a small heap allocation. Traditionally, relatively heavyweight OS processes or threads handled each connection.