Що таке Node.js?
More details in the official Node.js docs - About Node.js
Node.js - це середовище виконання JavaScript поза браузером, побудоване на рушії V8 від Google Chrome. Воно дозволяє запускати JavaScript-код на сервері, а не тільки в браузері.
Основні характеристики
- Середовище виконання (runtime) Node.js - не мова і не фреймворк, а саме середовище, у якому виконується JS-код.
- Рушій V8 Основа Node.js - рушій V8, написаний на C++, який компілює JavaScript у машинний код для високої швидкості виконання.
- Однопоточність із неблокуючим введенням-виведенням (non-blocking I/O) Node.js працює в одному потоці, але вміє ефективно обробляти тисячі запитів одночасно завдяки асинхронності та циклу подій (event loop).
- Модульність
Використовує систему модулів CommonJS (
require,module.exports) і ES-модулі (import,export). - Пакетний менеджер npm Node.js постачається з npm (Node Package Manager) - найбільшим репозиторієм бібліотек JavaScript.
Застосування Node.js
- Створення веб-серверів (наприклад, за допомогою Express.js, NestJS, Fastify)
- Розробка REST API і GraphQL API
- Створення застосунків реального часу (чати, онлайн-ігри, сповіщення)
- CLI-утиліти та інструменти автоматизації
- SSR (Server-Side Rendering) для React, Next.js та інших
- Мікросервіси та бекенд-логіка
Приклад простого HTTP-сервера на Node.js
javascript
const http = require('http');
const server = http.createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello from Node.js!');
});
server.listen(3000, () => {
console.log('Server running on http://localhost:3000');
});Ключові переваги
- Висока продуктивність (V8 + неблокуючий I/O)
- Простота роботи з JSON і REST
- Єдина мова - JavaScript на клієнті й сервері
- Велика екосистема npm-пакетів
- Підтримка мікросервісної архітектури та event-driven систем
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.