Node.js это — среда выполнения JavaScript. Что же это значит, и как работает?
Окружение Node.js включает все, что вам нужно для выполнения программы, написанной на JavaScript.

Раньше вы могли запустить JavaScript только в браузере, но однажды разработчики расширили его, и теперь вы можете запускать JS на своем компьютере в качестве отдельного приложения. Так появился Node.js.

Теперь вы можете сделать гораздо больше с JavaScript, чем просто интерактивные веб-сайты.

Node.js запускаются в среде выполнения V8. Этот двигатель использует ваш JS код, и преобразует его в более быстрый машинный код.

Почему Node.js?

— Node.js использует управляемую событиями, неблокирующую модель ввода-вывода, которая делает ее легкой и эффективной.
— Пакетная экосистема Node.js, npm, является самой большой экосистемой библиотек с открытым исходным кодом в мире.

Давайте разбираться в этих фактах, так мы сможем понять, почему Node.js так популярен.

Неблокирующая модель ввода-вывода

I/O означает ввод/вывод. Это может быть что угодно: от чтения/записи локальных файлов до HTTP-запроса в API. I/O занимает время и, следовательно, блокирует другие функции.

В Node.js ответ на несколько запросов требует времени, но оба запроса могут выполняться независимо и в одно и то же время.

Асинхронность в сочетании с событийным подходом. В отличие от потокового, событийно-ориентированное программирование основано на каких-то внешних действиях. Т.е. выполнение программы зависит от действий пользователя или поступившего в программу сетевого пакета и т.д.

Такое решение упрощает программирование интерактивных приложений, т.е. основанных на работе с использованием ввода-вывода. Это могут быть онлайн-чаты или игровые приложения, красочные интерактивные веб-сервисы или всевозможные калькуляторы, рейтинги, голосования и т.д.

Пакетная экосистема npm

Платформа изначально обладала широким набором возможностей, а в новых версиях библиотека пополняется и улучшается.

Имеется множество внешних библиотек и готовых модулей.
Использование пакетного менеджера NPM позволяет постоянно развивать экосистему Node.
Проект распространяется с открытым кодом, а потому развивается огромными темпами. Координирует работу фонд Node.js.
Для расширения возможностей разработчика применяется огромное количество библиотек. Ниже мы приводим несколько самых популярных:

  • Meteor – мощный фреймворк для работы с кодом одновременно и на сервере, и на клиенте.
  • Next.js – библиотека для серверного рендеринга кода на React.
  • Express – один из самых мощных универсальных фреймворков для серверов.
  • Micro – легковесная и компактная, но при этом обладающая широким набором функций, библиотека для HTTP-микросерверов.
  • Koa – доработанный вариант библиотеки Express. Фреймворк получился таким же мощным, но при этом более компактным.
  • Socket.io – одна из самых популярных библиотек для приложений, которые взаимодействуют с клиентами в режиме реального времени.


Friday, February 12, 2021







« Back