Учебники

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

Node.js — это серверная платформа, построенная на движке Google Chrome JavaScript (V8 Engine). Node.js был разработан Райаном Далом в 2009 году, и его последняя версия v0.10.36. Определение Node.js, как указано в его официальной документации, следующее:

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

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

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

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

Node.js = Runtime Environment + JavaScript Library

Особенности Node.js

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

  • Асинхронный и управляемый событиями — все API библиотеки Node.js являются асинхронными, то есть неблокирующими. По сути, это означает, что сервер на базе Node.js никогда не ждет, пока API вернет данные. Сервер переходит к следующему API после его вызова, а механизм уведомления о событиях Node.js помогает серверу получить ответ от предыдущего вызова API.

  • Очень быстрая — библиотека Node.js, созданная на основе движка Google Chrome V8 JavaScript, очень быстро выполняет код.

  • Однопоточный, но очень масштабируемый — Node.js использует однопотоковую модель с зацикливанием событий. Механизм событий помогает серверу реагировать неблокирующим образом и обеспечивает высокую масштабируемость сервера по сравнению с традиционными серверами, которые создают ограниченные потоки для обработки запросов. Node.js использует однопотоковую программу, и та же самая программа может обслуживать гораздо большее количество запросов, чем традиционные серверы, такие как Apache HTTP Server.

  • Без буферизации — приложения Node.js никогда не буферизуют данные. Эти приложения просто выводят данные кусками.

  • Лицензия — Node.js выпущен под лицензией MIT .

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

Очень быстрая — библиотека Node.js, созданная на основе движка Google Chrome V8 JavaScript, очень быстро выполняет код.

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

Без буферизации — приложения Node.js никогда не буферизуют данные. Эти приложения просто выводят данные кусками.

Лицензия — Node.js выпущен под лицензией MIT .

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

Ниже приведена ссылка на github wiki, содержащая исчерпывающий список проектов, приложений и компаний, использующих Node.js. В этот список входят eBay, General Electric, GoDaddy, Microsoft, PayPal, Uber, Wikipins, Yahoo !, и Yammer.

Проекты, приложения и компании, использующие Node

Концепции

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

Node.js Концепции

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

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

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

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

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