Що таке 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 допомагає розбиратися зі збіркою проєкту й налаштуванням середовища розробки.