JavaScript разработала компания Mozilla для интеграции клиент-браузерных скриптов. Этот язык программирования работал только в браузере пользователя, но в 2009 году появилась Node.js — платформа, позволяющая исполнять скрипты на сервере.
Для чего нужна Node.js
Node.js написана на С++ и основана на движке V8, который используют в браузере Chrome. Это программа-интерпретатор: позволяет расширить области применения JavaScript.
Node.js подходит для разработки серверных и десктоп-приложений. Ее используют и чтобы создавать RTA — веб-приложения, которые откликаются на действия пользователя в реальном времени. А еще для SPA — одностраничных веб-приложений. Одно из основных преимуществ Node.js в том, что приложения можно запускать на любой операционной системе.
Но чаще Node.js используют, чтобы разработать backend-часть сайта. То есть ту, которую не видит пользователь, но благодаря которой работают кнопки и функции сайта. Платформу на бэкенде применяют Netflix, Uber, eBay, Trello и прочие известные сервисы и компании.
Чем отличается от PHP и Python
Node.js обгоняет PHP, но уступает Python в популярности. В арсенале Node.js — пакетный менеджер npm и большое количество готовых библиотек и фреймворков под типовые задачи. Но Node.js заточена скорее под веб-разработку. Позволяет создавать сложные веб-приложения, обрабатывающие большое количество запросов.
Сферы, в которых используют Python, не ограничиваются веб-разработкой. Его также применяют:
- для машинного обучения;
- создания CLI-приложений, скриптов автоматизации;
- работы с анализом данных;
- создания десктоп-приложений и игр.
У Python тоже есть готовые библиотеки и фреймворки, которые можно найти и установить с помощью пакетного менеджера pip.
На PHP работает примерно одна треть всех сайтов в сети. На нём написали множество CMS — систем управления контентом. Например, WordPress или Joomla, которые часто используют в русскоязычном сегменте интернета.
Его пакетный менеджер называют Composer. В нём тоже много различных библиотек и фреймворков, но меньше, чем у Node.js или Python.
Как установить
Процесс зависит от операционной системы. Чтобы установить на Windows, скачайте и запустите установочный пакет с официального сайта.
Чтобы установить на Linux или MacOS, воспользуйтесь встроенным в операционную систему менеджером пакетов:
brew — для MacOS;
apt — для Linux.
Или соберите исходники программного обеспечения node и npm самостоятельно.
Рассмотрим компиляцию Node.js из исходников в среде Debian — дистрибутив Linux. Вам потребуются компилятор make, пакет wget для скачивания файлов из командной строки:
# установите зависимости
sudo apt install make wget
# скачайте и распакуйте архив с исходниками
wget https://nodejs.org/dist/v16.15.0/node-v16.15.0.tar.gz
tar -xvf node-v16.15.0.tar.gz
# скомпилируйте программу
cd node-v16.15.0/
./configure
make
sudo make install
С чего начать изучать
В сети найдете видеоуроки, инструкции, переводы зарубежных материалов и русскоязычный контент.
✅ На medium.com опубликовали хороший перевод книги Node Hero. Из первой главы узнаете, что такое Node.js, как установить ее на компьютер и как начать работать. Далее приступите к реальной разработке.

Найдете полезные подсказки
✅ На nodejsdev.ru сделали подробное руководство по Node.js. В нём — работа с модулями и файлами, события, потоки, шаблоны.

Малая часть руководства
✅ На Stepik лежат видеокурсы, нужно только начальное знание JavaScript. На практике познакомитесь со всеми концепциями Node.js и напишете несколько приложений. Например, простую CLI-утилиту прогноза погоды и архитектурно сложное API.

Часть программы
✅ В телеграм-канале «Node.js — русскоговорящее сообщество» можно задать вопросы опытным разработчикам.
Пример использования
Начните с простого Hello, World! Создайте файл example1.js со следующим содержимым:
console.log("Hello, World!");
Запустите его в терминале с помощью команды node example1.js:
node example1.js
Hello, World!
Сделайте сервер, который будет отвечать на запросы текстом Hello, World! Для этого создайте файл example2.js и напишите:
// Подключите библиотеку http
var http = require('http');
// создайте сервер
http
.createServer(function (req, res) {
// реализуйте функцию-обработчик
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end("Hello, World!");
}).listen(3000);
Запустите скрипт командой node example2.js и перейдите в браузере по адресу http://localhost:3000/. В окне увидите текст: Hello, World!
Если хотите отобразить заданный текст, улучшите пример до передачи текста в виде ключевого параметра адресной строки. Создайте файл example3.js, в нём напишите код:
// Кроме библиотеки http подключите библиотеку url, чтобы работать с параметрами
var http = require('http');
var url = require('url');
http
.createServer(function (req, res) {
var queryObject = url.parse(req.url, true).query; // парсите url, получите словарь параметров
res.writeHead(200, { 'Content-Type': 'text/html' });
res.end(queryObject['message']); // верните текст, полученный по ключу message
})
.listen(3000);
С помощью библиотеки url получите аргументы адресной строки в виде словаря, переданные после знака вопроса. И в теле запроса верните текст аргумента message.
Запустите скрипт (node example3.js) и в браузере перейдите по адресу http://localhost:3000/?message=Hello,%20Node.js!
Сколько платят Node.js-разработчикам
Зарплата специалиста зависит от профессионального уровня. Новичкам (джунам) на хедхантере в вакансиях указывают от 40 000 ₽ до 70 000 ₽. Разработчики среднего уровня (мидлы) получают от 100 000 ₽. Старшие спецы (сеньоры) — от 250 000 ₽.

Примеры вакансий на хедхантере
Сервис zarplan.com в апреле 2022 года проанализировал 673 вакансии и выделил среднюю зарплату: 238 511 ₽. При этом в десяти процентах предложений сумма была от 401 000 ₽.
Лидеры по уровню средней зарплаты — Москва, Казань, Калининград, Санкт-Петербург, Нижний Новгород.
Главное о Node.js
- Node.js — программное обеспечение для JavaScript вне браузера — на сервере.
- Платформа превращает JavaScript в язык общего назначения, поэтому на Node.js можно писать любые компьютерные программы. Но в основном ее применяют для backend-разработки сайтов.
- Изучают Node.js по переводам зарубежных книг, еще есть руководства и видеокурсы. Достаточно материалов для новичков, но нужны знания JavaScript.
- Средняя зарплата разработчика — 238 511 ₽. На нее влияют опыт и квалификация.