Xgu.ru теперь в Контакте  — приходите и подключайтесь.
Пока мы работаем над следующими видео, вы можете подключиться в Контакте. Познакомимся и обсудим новые страницы и ролики.

Vk-big.pngYoutube-big.jpeg

Node.js

Материал из Xgu.ru

Перейти к: навигация, поиск

Node.js — платформа, построенная на основе JavaScript-движка V8 (движок Google Chrome), предназначенная для исполнения кода JavaScript вне браузера, в качестве web-сервера.

Как и вообще программы на JavaScript, программы для Node.js построены на основе понятия события (event) и цикла событий (event loop). Для того чтобы такой, основанный на событиях, подход мог работать, Node.js использует для ввода/вывода неблокирующие функции (библиотека с такими функциями входят в состав Node.js). В результате, почти всё, что делается в программе (по крайней мере всё, что касается ввода/вывода) пишется в асинхронном стиле.

Содержание

[править] Асинхронное программирование

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

Вы не говорите:

  сделай это
  сделай то

Вы говорите:

  начни делать это
    когда это будет готово: сделай то

В результате программы на node выглядят совершенно иначе.

(подробнее о модуле async)

Хорошее введение в async:

[править] Модули Node.js

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

Сегодня насчитывается несколько десятков тысяч модулей Node.js (37 689 на npmjs.org в середине августа 2013).

Несколько наиболее известных модулей:

  • Express — MVC-модуль для Node.js (как Ruby для Rails или Django для Python);
  • Jade — язык шаблонов для Node.js;
  • Backbone.js — MVC-фреймфорк для клиентских приложений;
  • Socket.IO — библиотека для двухстороннего взаимодействия web-сервера и web-браузера (через WebSockets и другие механизмы);

Некоторые используются как в Node.js, так и в браузере:

  • Async;
  • Underscore — универсальная библиотека с множеством полезных функций, которые очень помогают на каждом шагу.

Для управления модулями используется программа/система npm.

Коллекции и поиск по модулям node.js:

[править] Дополнительная информация

[править] Socket.io

[править] Разное

  • TJ Holowaychuk im Interview (нем.) — интервью с TJ Головайчуком, одним из самых продуктивных в мире разработчиков для Node.js
Источник — «http://xgu.ru/wiki/Node.js»