программная платформа, которая позволяет транслировать код JavaScript в машинный код. Написана Райаном Далом на C/C++ (в большей степени) и JavaScript. Первая версия бала выпущена в 2010 году. Основана на движке V8.
Данную платформу можно установить на все популярные операционные системы — Windows, Linux, Mac OS, BSD, Android. Скачать Node.js можно с официального сайта. Для загрузки доступны версии LTS (с длительно поддержкой) и текущая (самая последняя). Список всех версий можно увидеть на странице nodejs.org/dist. В Linux также возможна установка из репозиториев.
Основной особенностью платформы стала возможность обработки запросов без блокировок ввода/вывода, что делает работу приложений во много раз быстрее. Это возможно благодаря библиотеке libuv.
Как правило, Node.js используется для разработки веб-приложений (бэкендов и API). Он сам может выступать в роли веб-сервера и принимать http-запросы. Пример кода (из википедии):
- const http = require(‘http’);
- const server = http.createServer((req, res) => {
- res.writeHead(200, {
- ‘Content-Type’: ‘text/plain; charset=UTF-8’
- });
- res.end(‘Hello, world!’);
- });
- server.listen(3000, ‘127.0.0.1’, () => {
- console.log(‘Сервер запущен http://127.0.0.1:3000/’);
- });
* в данном примере будет запущен веб-сервер на локальном хосте, порту 3000. При выполнении запроса к данному серверу мы получим сообщение Hello, world!
Для быстрой разработки на Node.js популярны следующие фреймворки:
- Express
- Meteor.js
- Hapi.js
- Adonis.js
- Koa.js
… и другие.
Для установки дополнительных пакетов в составе Node.js есть менеджер npm. Пример поиска пакетов:
> npm search download
* в данном примере будут найдены все пакеты, в названии которых есть слово download.
Для установки пакета с помощью npm используем команду:
> npm install git
* будет выполнена установка пакета git.
Официальная документация представлена на сайте, но на английском языке. На русском можно найти руководства в сети, например, сайте METANIT. Также существует много видеоуроков, статей и книг по Node.js.
Подробнее о Node.js на Википедии.