Введение в Node.js

Современное веб-приложение действительно прошло долгий путь за эти годы с появлением многих популярных фреймворков, таких как bootstrap, Angular JS Training In Chennai и т. д. Все эти фреймворки основаны на популярном фреймворке JavaScript.

Но когда дело дошло до разработки серверных приложений, возникла пустота, и именно здесь на сцену вышел Node.js.

Node.js также основан на фреймворке JavaScript, но используется для разработки серверных приложений. Проходя весь учебник, мы подробно рассмотрим Node.js и то, как мы можем использовать его для разработки серверных приложений.

Что такое node.js

Node.js — это кроссплатформенная среда выполнения с открытым исходным кодом, используемая для разработки серверных веб-приложений. Приложения Node.js написаны на JavaScript и могут работать в самых разных операционных системах.

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

Долгое время все платформы, доступные для веб-разработки, основывались на модели без сохранения состояния. В модели без сохранения состояния данные, сгенерированные в одном сеансе (например, информация о пользовательских настройках и произошедших событиях), не сохраняются для использования в следующем сеансе с этим пользователем.

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

Зачем использовать Node.js

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

Но с веб-приложениями Node.js теперь вы можете работать в режиме реального времени и поддерживать двустороннюю связь. Состояние сохраняется, и клиент или сервер могут начать связь.

Возможности Node.js

Давайте рассмотрим некоторые ключевые особенности Node.js.

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

вар фс = требуют('фс');

fs.readFile("Sample.txt",функция(ошибка,данные)

{

console.log("Чтение данных завершено");

});

  • В приведенном выше фрагменте кода рассматривается чтение файла Sample.txt. В других языках программирования следующая строка обработки произойдет только после того, как будет прочитан весь файл.
  • Но в случае с Node.js важной частью кода, на которую следует обратить внимание, является объявление функции («функция (ошибка, данные)»). Это называется функцией обратного вызова.
  • Итак, здесь происходит то, что операция чтения файла начнется в фоновом режиме. И другая обработка может происходить одновременно с чтением файла. После завершения операции чтения файла будет вызвана эта анонимная функция, и в журнал консоли будет записан текст «Чтение данных завершено».
  1. Node использует движок V8 JavaScript Runtime, который используется в Google Chrome. Node имеет оболочку над движком JavaScript, которая значительно ускоряет движок выполнения и, следовательно, обработку запросов в Node также ускоряет.
  2. Обработка одновременных запросов. Еще одной ключевой функцией Node является возможность обработки одновременных подключений с минимальными издержками для одного процесса.
  3. В библиотеке Node.js использовался JavaScript — это еще один важный аспект разработки в Node.js. Большая часть сообщества разработчиков уже хорошо разбирается в javascript, поэтому разработка в Node.js становится проще для разработчика, знающего javascript.
  4. Существует активное и активное сообщество для платформы Node.js. Благодаря активному сообществу для платформы всегда доступны обновления ключей. Это помогает поддерживать фреймворк в актуальном состоянии с учетом последних тенденций в веб-разработке.

Кто использует Node.js

Node.js используется множеством крупных компаний. Ниже приведен список некоторых из них.

  • Paypal. Многие сайты в Paypal также начали переход на Node.js.
  • LinkedIn — LinkedIn использует Node.js для своих мобильных серверов, на которых работают продукты iPhone, Android и Mobile Web.
  • Mozilla внедрила Node.js для поддержки API-интерфейсов браузера, который установили полмиллиарда раз.
  • Ebay размещает свой сервис HTTP API в Node.js

Когда использовать и не использовать Node.js

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

  1. Чат-приложения
  2. Игровые серверы. Быстрые и высокопроизводительные серверы, которым необходимо обрабатывать тысячи запросов одновременно, то это идеальный фреймворк.
  3. Хорошо для совместной среды — это хорошо для сред, которые управляют документами. В среде управления документами у вас будет несколько человек, которые публикуют свои документы и вносят постоянные изменения, извлекая и возвращая документы. Таким образом, Node.js хорош для этих сред, потому что цикл событий в Node.js может запускаться всякий раз, когда документы изменяются в среде, управляемой документами.
  4. Рекламные серверы. Опять же, здесь у вас могут быть тысячи запросов на получение рекламы с центрального сервера, и Node.js может стать идеальной структурой для решения этой проблемы.
  5. Серверы потоковой передачи. Еще один идеальный сценарий использования Node — это серверы потоковой передачи мультимедиа, на которых у клиентов есть запросы на получение различного мультимедийного содержимого с этого сервера.

Node.js хорош, когда вам нужен высокий уровень параллелизма, но меньшее количество выделенного процессорного времени.

Лучше всего то, что, поскольку Node.js построен на javascript, он лучше всего подходит для создания клиентских приложений, основанных на той же инфраструктуре javascript.

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

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

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

Что такое модули в Node.js?

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

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

  1. Среда Express. Express — это минимальная и гибкая среда веб-приложений Node js, которая предоставляет надежный набор функций для веб-приложений и мобильных приложений.
  2. Socket.io — Socket.IO обеспечивает двустороннюю связь на основе событий в реальном времени. Этот модуль хорош для создания приложений на основе чата.
  3. Jade. Jade — это высокопроизводительный механизм шаблонов, реализованный с помощью JavaScript для узлов и браузеров.
  4. MongoDB — драйвер MongoDB Node.js является официально поддерживаемым драйвером node.js для MongoDB.
  5. Restify — restify — это упрощенная платформа, похожая на express для создания REST API.
  6. Bluebird — Bluebird — это полнофункциональная библиотека обещаний с упором на инновационные функции и производительность.

Использование модулей в Node.js

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

В приведенной ниже командной строке показано, как можно установить модуль «экспресс».

Экспресс-установка npm

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

Давайте посмотрим на пример, как мы можем использовать ключевое слово «require». В приведенном ниже примере кода «Guru99» показано, как использовать функцию require.

  1. В самом первом операторе мы используем ключевое слово «require» для включения экспресс-модуля. Модуль «Экспресс» — это оптимизированная библиотека JavaScript для разработки Node.js. Это один из наиболее часто используемых модулей Node.js.
  2. После того, как модуль включен, чтобы использовать функциональные возможности модуля, необходимо создать объект. Здесь создается объект экспресс-модуля.
  3. После включения модуля с помощью команды «require» и создания «объекта» можно вызывать требуемые методы экспресс-модуля. Здесь мы используем команду set для установки механизма просмотра, который используется для установки механизма шаблонов, используемого в Node.js.
  4. Примечание. (Просто для понимания читателя: механизм шаблонов — это подход к введению значений в приложение путем получения данных из файлов данных. Эта концепция довольно известна в Angular JS, где фигурные скобки { { ключ }} используется для замены значений на веб-странице. Слово «ключ» в фигурных скобках в основном обозначает переменную, которая будет заменена значением при отображении страницы.)
  5. Здесь мы используем метод listen, чтобы заставить приложение прослушивать определенный номер порта.

Создание модулей NPM

Node.js имеет возможность создавать пользовательские модули и позволяет вам включать эти пользовательские модули в ваше приложение Node.js.

Давайте рассмотрим простой пример того, как мы можем создать собственный модуль и включить этот модуль в наш основной файл приложения. Наш модуль просто выполнит простую задачу добавления 2 чисел.

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

Шаг 1) Создайте файл с именем Addition.js и включите в него приведенный ниже код. Этот файл будет содержать логику для вашего модуля.

Ниже приведен код, который войдет в этот файл;

  1. Ключевое слово «экспорт» используется для обеспечения того, чтобы функции, определенные в этом файле, действительно могли быть доступны из других файлов.
  2. Затем мы определяем функцию под названием «AddNumber». Эта функция определена так, чтобы принимать 2 параметра, a и b. Функция добавлена ​​в модуль «экспорт», чтобы сделать функцию общедоступной, к которой могут обращаться другие модули приложения.
  3. Наконец-то мы заставляем нашу функцию возвращать добавленное значение параметров.

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

На следующем шаге мы увидим, как создать приложение, которое будет вызывать наш пользовательский модуль.

Шаг 2) Создайте файл с именем app.js, который является основным файлом вашего приложения, и добавьте приведенный ниже код.

  1. Мы используем ключевое слово «require», чтобы включить функциональность в файл Addition.js.
  2. Поскольку функции в файле Addition.js теперь доступны, теперь мы можем сделать вызов функции AddNumber. В функцию мы передаем 2 числа в качестве параметров. Затем мы отображаем значение в консоли.

Вывод:

  • Когда вы запустите файл app.js, вы получите значение 3 в журнале консоли.
  • В результате функция AddNumber в файле Addition.js была вызвана успешно, и в консоли отобразилось возвращаемое значение 3.

Примечание. Мы пока не используем «Диспетчер пакетов Node» для установки нашего модуля Addition.js. Это потому, что модуль уже является частью нашего проекта на локальной машине. Диспетчер пакетов Node появляется, когда вы публикуете модуль в Интернете, что мы видим в следующем разделе.