WEB-HYBRID

Node.js

Обзор Node.js

Node.js – это среда выполнения JavaScript с открытым исходным кодом, построенная на движке V8 Chrome. Созданная Райаном Далем в 2009 году, Node.js использует событийно-ориентированную, неблокирующую модель ввода-вывода, что делает ее идеальной для создания масштабируемых сетевых приложений.

Революция в веб-разработке

Node.js позволила использовать JavaScript на стороне сервера, унифицировав разработку фронтенда и бэкенда.

Особенности Node.js

  • Асинхронная архитектура – неблокирующие операции ввода-вывода
  • Единый язык для клиента и сервера – Full-stack JavaScript
  • Событийно-ориентированная модель – Event Loop и Callbacks
  • Однопоточность – эффективное использование ресурсов
  • Огромная экосистема npm – более 1.3 миллиона пакетов
  • Высокая производительность – благодаря движку V8
  • Поддержка реального времени – WebSockets, WebRTC
  • Кроссплатформенность – Windows, Linux, macOS

Архитектура Node.js

Event Loop – сердце Node.js

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

Event Loop

Бесконечный цикл обработки событий

Libuv

Библиотека для асинхронного I/O

V8 Engine

Движок JavaScript от Chrome

Веб-фреймворки Node.js

Популярные фреймворки для Node.js предоставляют инструменты для создания веб-серверов и API:

Express.js

Минималистичный и гибкий фреймворк

  • Мидлвары
  • Маршрутизация
  • Шаблонизация
Стандарт де-факто
Nest.js

Enterprise-фреймворк с TypeScript

  • Dependency Injection
  • Modular architecture
  • TypeScript support
Для больших проектов
Fastify

Высокопроизводительный фреймворк

  • Максимальная скорость
  • Schema-based
  • Low overhead
Для высоких нагрузок

Производительность Node.js

Показатель Node.js Apache + PHP Python Django
Запросов в секунду 15,000 2,000 3,500
Потребление памяти Низкое Высокое Среднее
Одновременных соединений 10,000+ 500-1000 1000-2000

Установка и настройка

Установка Node.js
# Windows/macOS
# Скачать с nodejs.org

# Ubuntu/Debian
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs

# Проверка установки
node --version
npm --version
Создание проекта
# Инициализация проекта
npm init -y

# Установка зависимостей
npm install express cors helmet

# Запуск в development
npm run dev

# Production сборка
npm run build