Платформа Node.js. Возможности, решения, особенности Node.js

Уровень сложности: 

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

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

Ниже приведён текст из видео вебинара "Школы программирования" Андрея Жарикова.

Что такое Node.js

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

Выпущена в 2009 году Райаном Дахлем. В настоящее время разработчики переходят на платформу Node.js, которая позволяет сократить кодирование, ускорить работу приложений и крупных систем, осуществляя быстрые транзакции.

PHP имеет недостаток - скрипты работают в синхронном режиме, то есть один скрипт выполняется, завершает свою работу, и только потом запускается следующий скрипт. Это не позволяет создавать приложения с быстрой обработкой запросов.

Node.js позволяет эффективно работать с ресурсами: запросы выполняются в асинхронном режиме, ускоряя работу системы.

Кому необходим Node.js:

  • разработчикам JavaScript
  • разработчикам real-time приложений

Зачем нужен Node.js

  • быстрые асинхронные сетевые запросы (пример: рассылка e-mail и push уведомлений)
  • обработка сотен тысяч одновременных соединений (пример: чаты, онлайн-игры, новостные ленты)
  • JavaScript на сервере на движке V8 (пример: underscore.js)

Установка Node.js

Достаточно простая установка, проще чем Denwer. Скачайте установщик с https://nodejs.org/ и установите на своём сервере: на локальном компьютере или на VDS/VPS.

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

Сервер настроить просто, мануалов много, IDE поддерживают Ноду, отладчики есть.

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

Вконтакте - использует для мгновенных сообщений (чатов).
LinkedIn - крупная соц сеть использует платформу Node.js для обмена сообщениями, отправки почты.
PayPal - популярная система оплат банковскими картами использует Ноду для своей структуры, разработчики переводят программное обеспечение на платформу и язык программирования для Ноды.
WalMart - торговая сеть производит мобильные и сервисные приложения на этой платформе.
Microsoft - создаёт облака Azure с поддержкой Ноды.

Экосистема

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

  • 28.000 звёзд на GitHub у репозитория Ноды.
  • npm: сотни готовых модулей
  • Javascript - все примеры кодов, написанных на JS, работают на Ноде.

Это большое преимущество в пользу использования платформы, так как разработка упрощается значительно: коды пишутся быстро, задачи решаются в несколько строк кода, готовые модули можно найти в Интернет, репозиторий Node.js пользуется популярностью https://github.com/joyent/node .

Минусы Node.js

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

Глобально, других недостатков нет.

Node.js для Drupal

Для CMS Drupal есть два модуля, которые соединяют функции сайта с сервером Node.js:
ASYNC Drupal
Node.js Integration

Используя эти модули, можно сделать удобный обмен сообщениями с модулем Private Messages, интегрировать Node.js в DrupalChat, делать интерактивными Views, Rules и другие модули.

Изучение Node.js

Курс о Note.Js от Ильи Кантора: http://www.youtube.com/watch?v=ILpS4Fq3lmw&list=PLsuEohlthXdkRSxJTkmTstW...
Введение в Node.js, Цуканов Павел: http://www.youtube.com/watch?v=ahFjk-EYawE