Что такое Node.js?
Node.js — среда выполнения, которая позволяет запускать JavaScript вне браузера, на сервере. Благодаря ей на одном языке можно писать и клиентскую, и серверную часть приложения.
Node.js построена на движке V8 из Chrome и работает по неблокирующей модели: пока один запрос ждёт ответа от базы данных, сервер обрабатывает другие. Такая архитектура хорошо подходит для API, чатов, стриминга и сервисов с большим числом одновременных подключений.
Вместе с Node.js идёт npm — крупнейший в мире реестр пакетов. Для веб-сервисов чаще всего используют фреймворки Express, Fastify или NestJS.
Где применяется
На Node.js пишут API для веб- и мобильных приложений, чаты и сервисы реального времени, шлюзы между внешними сервисами, обработчики вебхуков и телеграм-ботов. Для веб-части чаще всего берут Express или NestJS, данные хранят в PostgreSQL или MongoDB.
Вторая, менее заметная роль — инструментальная. Node.js стоит под капотом почти всей фронтенд-разработки: сборщики, линтеры, локальные серверы разработки, генераторы статических сайтов запускаются именно в нём. Поэтому с Node сталкивается даже тот, кто не пишет на нём серверный код.
Пример
Сервис принимает вебхуки от платёжной системы: сотни запросов в минуту, каждый требует записи в базу. Node.js обрабатывает их в одном процессе, не блокируясь на ожидании базы, — а тяжёлую генерацию отчётов выносят в отдельную очередь, чтобы не занимать основной поток.
import express from 'express';
const app = express();
app.get('/api/orders/:id', async (req, res) => {
const order = await db.orders.findById(req.params.id);
if (!order) return res.status(404).json({ error: 'not found' });
res.json(order);
});
app.listen(3000); Частые вопросы
Node.js — это язык программирования?
Нет, это среда выполнения JavaScript вне браузера. Язык остаётся тем же, меняется окружение: вместо работы со страницей появляется доступ к файловой системе, сети и процессам операционной системы. Отсюда и возможность писать на JavaScript серверный код.
Для каких задач Node.js подходит плохо?
Для долгих вычислений: обработки видео, сложной математики, тяжёлого анализа данных. Такая задача занимает основной поток, и сервис перестаёт отвечать на остальные запросы. Подобную работу выносят в отдельные процессы, очереди или пишут на других языках.
Что такое npm и зачем он нужен?
Это менеджер пакетов, который ставится вместе с Node.js, и крупнейший в мире реестр библиотек. Через него подключают зависимости, фиксируют их версии в package-lock и запускают команды проекта — сборку, тесты, локальный сервер разработки.
Стоит ли изучать Node.js фронтендеру?
Да, и это самый короткий путь к полному стеку: язык уже знаком, учить нужно только серверную специфику и работу с базой. Даже без перехода на бэкенд понимание Node помогает разбираться со сборкой проекта и настройкой окружения разработки.