Что такое Node Js?

Самый очевидный ответ на вопрос, что такое Node.js, заключается в том, что команды JavaScript выполняются на стороне сервера. Node js или узел — это кроссплатформенная среда выполнения с открытым исходным кодом для выполнения кода JavaScript вне браузера.

Мы используем Node для создания внутренних сервисов, также называемых API или интерфейсами прикладного программирования. Это сервисы, на которых работают наши клиентские приложения.

Почему Node Js?

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

По сути, Node — это программа на C++, в которую встроен движок Chrome v8, самый быстрый в мире движок JS. Мы используем Node для создания быстрых и масштабируемых сетевых приложений. Это идеальный выбор для создания сервисов RESTful.

Ему не нужен дополнительный веб-сервер (Apache HTTP, IIS, Nginx и т. д.), такой как серверные языки программирования.

Его используют в производстве такие крупные компании, как PayPal, Uber, Netflix, Walmart и так далее.

Приложение узла:

-Построен в два раза быстрее с меньшим количеством людей,

-3% меньше строк кода и

-40% меньше файлов.

-35% более быстрое время отклика.

-2x запрос/сек

Преимущества использования Node.js

  • Простой синтаксис
  • Легкая кривая обучения
  • Возможность быстрого масштабирования
  • Открытый исходный код и гибкость
  • Кроссплатформенная разработка
  • Одноязычная полнофункциональная разработка
  • Связь в режиме реального времени
  • Большое и активное сообщество

Архитектура NodeJs

Приложения Node легко масштабируются благодаря неблокирующему или асинхронному характеру Node.

Приложения Node по умолчанию являются асинхронными или неблокирующими. Это означает, что когда приложение использует операции ввода-вывода (например, доступ к файловой системе или сети), поток не ожидает (или не блокирует) результат операции. Он выпущен для обслуживания других клиентов. Эта архитектура делает Node идеальным решением для создания приложений с интенсивным вводом-выводом.

Позвольте мне дать вам метафору. Представьте, что вы идете в ресторан.

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

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

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

Где использовать Node.js?

  • Приложения, связанные с вводом-выводом
  • Приложения для потоковой передачи данных
  • Приложения реального времени с интенсивным использованием данных (DIRT)
  • Приложения на основе JSON API
  • Одностраничные приложения.

Где не следует использовать Node.js?

  • Не рекомендуется использовать Node.js для приложений, интенсивно использующих ЦП.

Система узловых модулей

Каждый файл в приложении Node представляет собой модуль. Node автоматически оборачивает код в каждый файл с помощью IIFE (немедленно вызываемого функционального выражения) для создания области видимости. Таким образом, переменные и функции, определенные в одном файле, относятся только к этому файлу и не видны другим файлам, если только они не экспортированы явно. — Чтобы экспортировать переменную или функцию из модуля, нужно добавить их в module.exports:

module.exports.funtionOrVariiable = поздороваться;

Os: модуль ОС предоставляет информацию об операционной системе компьютера.

Пример:

Выход:

Fs:модуль файловой системы Node.js позволяет вам работать с файловой системой на вашем компьютере.

Пример:

Выход:

Пример:

Выход:

Вход:

Выход:

Популярность Node js:

Второй год подряд Node.js занимает первое место в опросе разработчиков StackOverflow за 2020 год. Более половины респондентов в опросе сообщили, что использовали его в своих проектах.

Node.js занял первое место в опросе как самая востребованная технология.

Вывод:

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