Программная платформа Node.js
Лицензия: | GPL, Бесплатная |
Автор: | Ryan Lienhart Dahl |
Дата релиза: | 2019.09.26 |
Языки: | Большинство языков |
Поддерживаемые ОС: | Любая |
Просмотры: | 529 / 0 / 2177 |
Отзывов / оценка: | 0 / |
Скачано раз: | 708 |
Размер файла: | 17.4 MiB |
Node или Node.js — программная платформа, основанная на движке V8 (транслирующем JavaScript в машинный код), превращающая JavaScript из узкоспециализированного языка в язык общего назначения. Node.js добавляет возможность JavaScript взаимодействовать с устройствами ввода-вывода через свой API (написанный на C++), подключать другие внешние библиотеки, написанные на разных языках, обеспечивая вызовы к ним из JavaScript-кода. Node.js применяется преимущественно на сервере, выполняя роль веб-сервера, но есть возможность разрабатывать на Node.js и десктопные оконные приложения (при помощи NW.js, AppJS или Electron для Linux, Windows и macOS) и даже программировать микроконтроллеры (например, tessel и espruino). В основе Node.js лежит событийно-ориентированное и асинхронное (или реактивное) программирование с неблокирующим вводом/выводом.
В 1996 году в компании Netscape были попытки создания серверного JavaScript (Server-side JavaScript — SSJS), однако технология не получила распространения.
Райан Дал, создатель Node.js
Node.js разработал Райан Даль (англ. Ryan Dahl) в 2009 году после двух лет экспериментирования над созданием серверных веб-компонентов. В ходе своих исследований он пришёл к выводу, что вместо традиционной модели параллелизма на основе потоков следует обратиться к событийно-ориентированным системам. Эта модель была выбрана из-за простоты, низких накладных расходов (по сравнению с идеологией «один поток на каждое соединение») и быстродействия. Целью Node является предложить «простой способ построения масштабируемых сетевых серверов».
Разработка Node.js спонсируется компанией Joyent (англ.).
В декабре 2014 года был создан форк io.js.
В мае 2015 года было принято решение о слиянии io.js и Node.js и дальнейшем развитии под эгидой Node.js Foundation.
8 сентября 2015 года вышел Node.js v4.0.0 как результат слияния Node.js v0.12.7 и io.js v3.3.0.
Важными событиями в развитии платформы стало появление Atomics и SharedArrayBuffer в Node.js 9, а так же worker_threads в Node.js 10.5 (и существенное развитие в Node.js 12).Это позволило создавать многопоточные параллельные приложения, реализовывать примитивы параллельного программирования и работать с разделяемой памятью.
Примеры кода
Создание и запуск HTTP-сервера на Node.js, выдающего Hello, world!:
Другой пример скрипта, создающего TCP-сервер, который прослушивает порт 8000 и выводит на экран всё, что вводит пользователь:
Дополнительные пакеты сторонних разработчиков
В состав Node.js входит собственный установщик пакетов npm. Установка производится при помощи команды:
Все доступные для установки пакеты и их краткое описание:
npm search
Этой же командой можно производить выборочный поиск пакетов.
В 1996 году в компании Netscape были попытки создания серверного JavaScript (Server-side JavaScript — SSJS), однако технология не получила распространения.
Райан Дал, создатель Node.js
Node.js разработал Райан Даль (англ. Ryan Dahl) в 2009 году после двух лет экспериментирования над созданием серверных веб-компонентов. В ходе своих исследований он пришёл к выводу, что вместо традиционной модели параллелизма на основе потоков следует обратиться к событийно-ориентированным системам. Эта модель была выбрана из-за простоты, низких накладных расходов (по сравнению с идеологией «один поток на каждое соединение») и быстродействия. Целью Node является предложить «простой способ построения масштабируемых сетевых серверов».
Разработка Node.js спонсируется компанией Joyent (англ.).
В декабре 2014 года был создан форк io.js.
В мае 2015 года было принято решение о слиянии io.js и Node.js и дальнейшем развитии под эгидой Node.js Foundation.
8 сентября 2015 года вышел Node.js v4.0.0 как результат слияния Node.js v0.12.7 и io.js v3.3.0.
Важными событиями в развитии платформы стало появление Atomics и SharedArrayBuffer в Node.js 9, а так же worker_threads в Node.js 10.5 (и существенное развитие в Node.js 12).Это позволило создавать многопоточные параллельные приложения, реализовывать примитивы параллельного программирования и работать с разделяемой памятью.
Примеры кода
Создание и запуск HTTP-сервера на Node.js, выдающего Hello, world!:
// Загружаем модуль http
const http = require('http');
// Создаем web-сервер с обработчиком запросов
const server = http.createServer((req, res) => {
console.log('Начало обработки запроса');
// Передаем код ответа и http-заголовки
res.writeHead(200, {
'Content-Type': 'text/plain; charset=UTF-8'
});
res.end('Hello world!');
});
// Запускаем web-сервер
server.listen(3000, '127.0.0.1', () => {
console.log('Сервер запущен http://127.0.0.1:3000/');
});
Другой пример скрипта, создающего TCP-сервер, который прослушивает порт 8000 и выводит на экран всё, что вводит пользователь:
const net = require('net');
const server = net.createServer(stream => {
stream.setEncoding('utf8');
stream.write('hello\r\n');
stream.addListener('data', data => {
stream.write(data);
});
});
server.listen(8000, 'localhost');
Дополнительные пакеты сторонних разработчиков
В состав Node.js входит собственный установщик пакетов npm. Установка производится при помощи команды:
npm install <packagename>
Все доступные для установки пакеты и их краткое описание:
npm search
Этой же командой можно производить выборочный поиск пакетов.
Наш сайт использует куки. Продолжая им пользоваться, вы соглашаетесь на обработку персональных данных в соответствии с
политикой конфиденциальности.