Chapter 21. Introduction to Node.js

Node.js is an open-source, cross-platform JavaScript runtime environment that was built on Chrome’s V8 JavaScript engine by Ryan Dahl in 2009. It allows developers to execute JavaScript code on the server-side, meaning you can run JavaScript both within and outside of the web browser.

According to W3Techs, at the time of writing, Node.js is used by 3.5% of websites. This may not sound like much, but a year ago it was two percent, which represents a stunning growth rate of 150 percent in a year. What’s more, it’s most frequently used on very high traffic sites such as X/Twitter, Netflix, GitHub, Spotify, TikTok, eBay, Reddit and over 30 million other equally and less well-known properties. To make an educated guess and extrapolate this usage into potential market share over the next few years, it’s not beyond the realms of possibility that Node.js could be implemented on up to a quarter of all web properties by the 2030s.

Node.js uses an event-driven, non-blocking model, whereas web servers like Apache use a synchronous request-response model, which means each incoming request is processed in a separate thread, and the thread is blocked until the response is ready. Node.js handles requests asynchronously, processing connections without creating a new thread for each request. This makes it highly scalable and ideal for real-time applications, chat applications, gaming servers, and other scenarios where low-latency is essential.

For example, a ...

Get Learning PHP, MySQL & JavaScript, 7th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.