Node.js (Node) — это платформа с открытым исходным кодом для работы с языком JavaScript, построенная на движке Chrome V8. Она позволяет писать серверный код для веб-приложений и динамических веб-страниц, а также программ командной строки. В основе платформы — событийно-управляемая модель с неблокирующими операциями ввода-вывода, что делает ее эффективной и легкой.
Платформу разработал Райан Дал, программист из Америки, в 2009 году. До появления Node.js приложения, которые написаны на языке программирования JavaScript, можно было запускать только в браузере. С появлением платформы стало возможно писать на JavaScript не только в браузере, но и на сервере.
Что такое Node.js и как она работает
Node.js работает на движке V8, транслирующем JavaScript в машинный код. Простыми словами, Node.js — это приложение на C++, которое получает на входе код JavaScript и выполняет его. Чтобы взаимодействовать с устройствами ввода-вывода на компьютере, в платформе предусмотрен собственный интерфейс на C++. Таким образом, платформа превращает специализированный скриптовый язык JavaScript в язык общего назначения, поэтому на Node.js можно писать любые компьютерные программы. Платформа позволяет пользоваться единым языком JavaScript для написания кода и на стороне клиента (Frontend), и на сервере (Backend). Эти возможности Node.js важны для разработки приложений реального времени, которые основаны на событиях.
Для чего нужна Node.js
Платформу используют fronted-разработчики, backend-разработчики и другие. Она позволяет написать программу для разных ОС: Linux, OS X и Windows, может использоваться для создания API. Также Node.js применяется для разработки кросс-платформенных приложений: например, списка задач, который должен работать на разных платформах, синхронизировать данные в реальном времени и отправлять на мобильное устройство. Node.js используется при создании сервисов с постоянным обменом информацией с пользователем: социальных сетей, онлайн-игр, чатов, систем совместной работы над проектом, онлайн-редакторов текста и пр.
Node.js лежит в основе Internet of Things, или просто IoT. Платформа помогает управлять приборами и создавать серверы, способные одновременно обрабатывать большое количество запросов.
Многие крупные компании используют Node.js. Например, eBay и веб-версия PayPal в процессе перехода, а LinkedIn, полностью отказавшиеся от Ruby on Rails в пользу Node.js еще в 2012 году, заявили о 20-кратном ускорении 27 серверов. Среди других известных компаний — Yahoo, Netflix, Uber, Walmart, Google и многие другие.
Как выглядит код
Пример создания и запуска HTTP-сервера на Node.js, выдающего «Hello, World!»:
const http = require('http');
const requestListener = function (req, res) {
res.writeHead(200);
res.end('Hello, World!');
}
const server = http.createServer(requestListener);
server.listen(8080);
Причины популярности
Высокая скорость. JavaScript-код, который выполняется в среде Node.js, может быть в несколько раз быстрее, чем написанный на языках вроде Ruby или Python. В Node.js используется модель асинхронного программирования. Модель позволяет продолжить обработку других задач, не дожидаясь завершения передачи данных. Когда требуется выполнить операцию ввода-вывода вроде доступа к файловой системе или базе данных, Node.js не блокирует главный поток ожиданием результатов. Платформа инициирует ее выполнение и продолжает выполнять другие задачи, пока результаты предыдущей операции не будут получены.
Универсальность и гибкость. В Node.js выполняется код, который написан на JavaScript. Это означает, что frontend-разработчики, которые уже используют JavaScript в браузере, могут писать и клиентский, и серверный код на привычном языке программирования, не изучая инструмент с нуля. В Node.js можно быстро переходить на новые стандарты ECMAScript по мере их реализации. Новые возможности языка становятся доступны сразу после установки поддерживающей их версии Node.js.
Большое количество модулей и библиотек. Экосистема Node.js стремительно развивается благодаря менеджеру пакетов NPM. Он содержит более 500 000 модулей и библиотек open-source, которые находятся в свободном доступе. Также постоянно появляются новые.
Работа на движке Chrome V8. Node.js работает на JavaScript-движке V8 от Google. V8 — движок JavaScript с открытым исходным кодом, распространяемый по лицензии BSD. Он применяется в браузерах на основе Chromium. Это означает, что в Node.js использованы наработки тысяч инженеров. Движок написан на C++, имеет открытый исходный код и продвинутые библиотеки.
Как установить Node.js
Установка Node не должна вызвать проблем даже у новичков, ниже приведен алгоритм действий на Windows и OS X.
Установка Node.js на Windows и Linux
Первый шаг — установка консоли. На Windows уже предустановлен терминал cmd.exe, но как основное «место работы» он не подходит. В качестве аналога используется эмулятор консоли, например cmder. После этого шага с официального сайта Node.js необходимо скачать последнюю версию платформы.
После запуска инсталлятора Node.js устанавливается в интерактивном режиме. В конце установки необходимо проверить версию с помощью двух команд: node -v и npm -v.
В операционных системах на основе Linux Node.js устанавливается с помощью пакетного менеджера.
Установка Node.js на OS X
Алгоритм мало отличается от установки на Windows; разница лишь в том, что предварительные шаги не нужны. С официального сайта нужно скачать последнюю доступную версию, установить ее и можно сразу пользоваться.
0 комментариев