Node.js - Введение
Что такое Node.js?
Node.js - это серверная платформа, построенная на движке Google Chrome JavaScript Engine (V8 Engine). Node.js был разработан Райаном Далем в 2009 году, а его последняя версия - v0.10.36. Определение Node.js в официальной документации выглядит следующим образом:
Node.js - это платформа, построенная на среде выполнения JavaScript Chrome для простого создания быстрых и масштабируемых сетевых приложений. 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 лучшим выбором для архитекторов программного обеспечения.
Asynchronous and Event Driven- Все API библиотеки Node.js асинхронны, то есть не блокируются. По сути, это означает, что сервер на основе Node.js никогда не ждет, пока API вернет данные. Сервер переходит к следующему API после его вызова, и механизм уведомления событий Node.js помогает серверу получить ответ от предыдущего вызова API.
Very Fast - Библиотека Node.js, построенная на движке JavaScript V8 Google Chrome, очень быстро выполняет код.
Single Threaded but Highly Scalable- Node.js использует однопоточную модель с циклом событий. Механизм событий помогает серверу реагировать неблокирующим образом и обеспечивает высокую масштабируемость сервера в отличие от традиционных серверов, которые создают ограниченные потоки для обработки запросов. Node.js использует однопоточную программу, и одна и та же программа может обслуживать гораздо большее количество запросов, чем традиционные серверы, такие как HTTP-сервер Apache.
No Buffering- Приложения Node.js никогда не буферизуют данные. Эти приложения просто выводят данные по частям.
License- 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 зарекомендовал себя как идеальный технологический партнер.
- Приложения с привязкой к вводу / выводу
- Приложения для потоковой передачи данных
- Приложения с интенсивным использованием данных в реальном времени (DIRT)
- Приложения на основе JSON API
- Одностраничные приложения
Где не использовать Node.js?
Не рекомендуется использовать Node.js для приложений, интенсивно использующих ЦП.