В этом руководстве вы узнаете, что такое Node.js и почему и когда вам следует его использовать.

Node.js — это кроссплатформенная среда выполнения с открытым исходным кодом, которая позволяет использовать JavaScript для разработки серверных приложений.

В каждом веб-браузере есть механизм JavaScript, который берет код JavaScript и компилирует его в машинный код. Например, Firefox использует SpiderMonkey, а Google Chrome — V8. Поскольку браузеры используют разные движки JavaScript, иногда вы увидите, что JavaScript ведет себя по-разному в разных браузерах.

В 2009 году Райан Даль, создатель Node.js, взял движок V8 и внедрил его в приложение, которое могло выполнять JavaScript на сервере.

Node.js

На следующем рисунке показана система Node.js:

Система Node.js

Node.js использует однопоточную, неблокирующую и управляемую событиями модель выполнения, которая аналогична модели выполнения JavaScript в веб-браузере.

Однопоточность

Node.js является однопоточным. Это означает, что каждый процесс имеет только один поток выполнения.

Однопоточная модель выполнения позволяет легко обрабатывать больше одновременных запросов через цикл обработки событий. Из-за этого приложения Node.js обычно потребляют сравнительно меньше памяти.

Если вы не знакомы с циклом событий, ознакомьтесь с этим руководством по циклу событий. Цикл событий в работает так же, как цикл событий в веб-браузерах.

Использование неблокирующего ввод-вывод

I/O означает ввод/вывод. Это может быть доступ к диску, сетевой запрос или подключение к базе данных. Запросы ввода-вывода являются дорогостоящими и медленными и, следовательно, блокируют другие операции.

Node.js решает проблемы блокировки ввода-вывода с помощью неблокирующих запросов ввода-вывода.

Неблокирующий означает, что вы можете сделать запрос, делая что-то еще, а затем, когда этот запрос будет завершен, будет выполнен обратный вызов для обработки результата.

Другими словами, выполнение программы может продолжаться, пока выполняются другие операции.

Управление событиями

Управляемая событиями природа node.js объясняет, как он планирует операции, используя цикл событий.

Чем хорош?

Node.js хорош для создания прототипов и гибкой разработки. Он также позволяет создавать быстрые и хорошо масштабируемые приложения.

Node.js имеет большую экосистему библиотек с открытым исходным кодом, так что вы можете повторно использовать существующие библиотеки и уделять больше времени своим приложениям.

Если вы уже используете JavaScript для разработки внешнего интерфейса, вы можете использовать свои существующие навыки для разработки на стороне сервера. Используя один и тот же JavaScript как на стороне клиента, так и на стороне сервера, ваша кодовая база становится более чистой и последовательной.

Node.js
Модуль path (пути) в Node.js
JavaScript и TypeScript
Node.js
Команда npm view
JavaScript и TypeScript
Node.js
Семантическое управление версиями в npm
JavaScript и TypeScript
Node.js
Все команды npm list
JavaScript и TypeScript
Node.js
Node.js Express: создание простого веб-сервера
JavaScript и TypeScript
Node.js
Модули Node.js и CommonJS в JavaScript
JavaScript и TypeScript
Node.js
Модуль OS в Node.js — действия с операционной системой
JavaScript и TypeScript
Node.js
Создание HTTP-сервера с помощью модуля Node.js
JavaScript и TypeScript
Node.js
Npm — менеджер пакетов Node в JavaScript
JavaScript и TypeScript
Node.js
Команда npm uninstall для удаления пакета
JavaScript и TypeScript
Node.js
Использование ES-модулей в Node.js
JavaScript и TypeScript
Node.js
Модуль событий events в Node.js
JavaScript и TypeScript
Node.js
Создание и публикация NPM-пакета
JavaScript и TypeScript
Node.js
Скачать и установить Node.js
JavaScript и TypeScript
Node.js
Как читать переменные среды в Node.js модуля process
JavaScript и TypeScript