Chapter 1. Welcome to Node.js

This chapter covers

  • What is Node.js?
  • Defining Node applications
  • The advantages of using Node
  • Asynchronous and nonblocking I/O

Node.js is an asynchronous, event-driven JavaScript runtime that offers a powerful but concise standard library. It’s managed and supported by the Node.js Foundation, an industry consortium with an open governance model. Two actively supported versions of Node are available: Long-Term Support (LTS) and Current. If you want to learn more about how Node is managed, the official website has plenty of documentation (

Since Node.js appeared in 2009, JavaScript has gone from a barely tolerated browser-centric language to one of the most important languages for all kinds of software development. This is partly due to the arrival of ECMAScript 2015, which solved several critical problems in previous versions of the language. Node uses Google’s V8 JavaScript engine that’s based on the sixth edition of the ECMAScript standard, which is sometimes called ES6 and abbreviated as ES2015. It’s also due to innovative technologies such as Node, React, and Electron, which allow Java-Script to be used everywhere: from the server to the browser, and in native mobile applications. Even big companies such as Microsoft are embracing JavaScript, and Microsoft has even contributed to the success of Node.

1.1. A typical Node web application

1.2. ES2015, Node, and V8

1.3. Installing Node

1.4. Node’s built-in tools

1.5. The three main types of Node program

1.6. Summary