ЧТО ЭТО ТАКОЕ

Поскольку JavaScript так популярен, возникло желание преодолеть разрыв между клиентским кодом и серверным кодом.

В шагах Node.js — среда выполнения JavaScript, построенная на движке Chrome V8 JavaScript.

Что такое V8? Это движок JavaScript и WebAssemly с открытым исходным кодом от Google, который компилирует и выполняет исходный код JavaScript, обрабатывает выделение памяти для объектов и собирает объекты, которые ему больше не нужны.[1]

Это как браузерный JavaScript!

ЗАЧЕМ ЭТО ИСПОЛЬЗОВАТЬ

С бурным развитием Интернета вещей и мобильных клиентов API занимают центральное место почти во всех компаниях, что означает более сложные задачи и масштабирование.

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

Это ускоряет работу приложений в реальном времени.

С Node.js разработчики JavaScript могут работать как над интерфейсом, так и над сервером.

КАК ЭТО РАБОТАЕТ

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

Несмотря на то, что JavaScript является однопоточным языком, то есть код выполняется последовательно, использование модели неблокирующего ввода-вывода означает, что мы никогда не будем блокировать цикл обработки событий.

Блокировка относится к операциям, которые блокируют дальнейшее выполнение до тех пор, пока эта операция не завершится. Неблокирующийотносится к коду, который не блокирует выполнение.

Блокировка:

alert(1);
veryLongFunctionCall('foo');
alert(2);
//result is 1,....2

Неблокирующий:

alert(1);
setTimeout(() => alert(2), 0);
alert(3);
//result is 1, 3,..2

КТО ПРОИЗВОДИТ

Node.js — это совместная работа отдельных лиц, назначенных и отобранных Техническим руководящим комитетом, надзорным органом, ответственным за руководство проектом, и управляемых CommComm — сокращение от Community Committee.

Он использует инструменты и модули NPM (Node Package Manager), набор программного обеспечения с открытым исходным кодом, чтобы еще больше расширить его функциональность и простоту использования.

Node — это большой проект с большой поддержкой и отличной документацией по встроенным модулям!

КАК ПОЛУЧИТЬ

Node.js имеет официальные сборки, доступные для Windows, macOS, Linux и некоторых других платформ. Просто загрузите готовый установщик прямо с веб-сайта nodejs.org.

НАСТРОЙКА ВАШЕГО ПЕРВОГО ВЕБ-СЕРВЕРА

Вот очень простая настройка, представленная на веб-сайте node.js.

После установки Node создайте файл с именем «app.js» и вставьте следующее:

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

Запустите свой веб-сервер, используя -

node app.js

Зайдите на свой сервер по адресу http://localhost:3000 и похлопайте себя по плечу!

[1] https://v8.dev/docs
[2] https://nodejs.org/en/docs/guides/getting-started-guide/