Созданый Райаном Далем в 2009 году, Node.js — относительно новая технология, завоевавшая в последнее время большую популярность среди веб-разработчиков. Однако, до сих пор не каждый знает, что на самом деле Node.js это серверная JavaScript среда, использующая асинхронную событийную модель. Что это означает? Все просто: это среда, которая предназначена для написания масштабируемых, высокопроизводительных приложений. Почти как Ruby’s Event Machine или Python’s Twisted, но гораздо глубже — JavaScript реализовывает цикл событий, на уровне самого языка, а не как отдельная библиотека.
![](https://habrastorage.org/r/w780q1/storage1/4602aa26/3c66e1a7/9cf15df3/a0298b17.jpg)
И это еще не все: то, что действительно круто в Node.js — это тысячи модулей, доступных для любых целей, а также активниешее сообщество этого молодого проекта. В этом обзоре вы найдете самые полезные ресурсы по Node.js, от просто удобных инструментов и подробных руководств, до углубленных статей и ресурсов о этой перспективной технологии. Используете ли вы Node.js? Поделитесь опытом в комментариях к этотому посту!
Node Express Boilerplate позволяет начать проект с чистого листа, но при этом сразу же обеспечивает решение всех тех рутинных задач, которые зачастую могут сорвать проект еще до того, как он начат.
![](https://habrastorage.org/r/w780q1/storage1/54ab3902/acd230e0/f3f4bade/bf381838.jpg)
Socket.IO — это кросс-браузерный веб сокет, который позволяет разрабатывать real-time приложения, доступные в любом браузере и мобильном устройстве, сводя к нулю различия между механизмами транспорта. Это беззаботный реалтайм, в рамках JavaScript.
![](https://habrastorage.org/r/w780q1/storage1/a76fde4c/c5a0f381/5715205e/710a51af.jpg)
С помощью Mastering Node вы можете разрабатывать высоконагруженные веб-сервера, используя модульность CommonJS, библиотеки ядра Node.js и модули сторонних разработчиков.
![](https://habrastorage.org/r/w780q1/storage1/96d6833c/289d8268/d1d77391/32b231f2.jpg)
Ваша инфраструктура имеет сотни логов, распределенных по десяткам машин? Чтобы помочь вам контролировать развертывания и устранения неполадок и создан Log.io. Он позволяет мгновенно увидеть агрегированые потоки сообщений логов в едином пользовательском интерфейсе.
![](https://habrastorage.org/r/w780q1/storage1/9313e21e/46bb9ddb/63bda874/e8ca8860.jpg)
Formaline является низкоуровневым, полнофункциональным модулем для обработки запросов (HTTP POST и PUT), а также для быстрого парсинга загруженных файлов. Кроме того, он из коробки готов к использованию вместе с, например, Connect.
![](https://habrastorage.org/r/w780q1/storage1/1619ffe2/db3fa41c/fa6f07e2/7ae60f8f.jpg)
LDAPjs — разработанный с нуля JavaScript фреймворк для реализации LDAP клиентов и серверов в Node.js. Он предназначен для разработчиков, которые используют Node.js и Express для взаимодействия с HTTP-сервисами.
![](https://habrastorage.org/r/w780q1/storage1/626e62d8/168e6717/3eabb027/1879ae66.jpg)
Node Supervisor это небольшой управляющий скрипт для Node.js. Он запускает ваш код и следит за изменениями кода, так что вы можете использовать горячую замену кода, не беспокоясь об утечках памяти или об очистке межмодульных зависимостей, а главное можно не париться про логику тех самых зависимостей.
![](https://habrastorage.org/r/w780q1/storage1/86fcc493/9ebbbc86/c7aa5b3a/1acac158.jpg)
Stylus создает впечатление удобного языка, который может быть преобразован в CSS. Компилятор написан на Node.js.
![](https://habrastorage.org/storage1/8df14776/ff908afc/73c65d5b/80ba10d6.gif)
Jade – шаблонизатор для Node.js приложений. Он сочетает в себе кучу возможностей и гибкость, завернутые в красивый синтаксис.
![](https://habrastorage.org/r/w780q1/storage1/3638cdd6/a0cacb78/4c174492/b26b7dd7.jpg)
Это Sinatra-подобный веб-фреймворк для Node.js: быстро, гибко и сексуально (примечание переводчика: боюсь предположить, чем вызван такой набор эпитетов — решил переводить дословно «fast, flexible and sexy», дальше фантазируем самостоятельно). Cпасибо markPnk за наводку на русские доки.
![](https://habrastorage.org/r/w780q1/storage1/f979e811/282ee0b0/dfefcf0a/4393f4cf.jpg)
hook.io создает распределенные Node.js EventEmitter, которые работают кросс-процессорно / кросс-платформенно / кросс-браузерно / кросс-офигительно (имхо переводчика). Представьте себе шину событий, которая работает везде, ну действительно везде, где поддерживается JavaScript.
![](https://habrastorage.org/r/w780q1/storage1/edcb6428/85b92a57/be6cd8ed/6acb8a77.jpg)
NPM — менеджер пакетов для Node.js. Используйте его, для установки и публикации своего кода. Он управляет зависимостями и выполняет другие полезные функции.
![](https://habrastorage.org/r/w780q1/storage1/bc2f52e1/3801ee38/9616cb29/4034ce51.jpg)
Просто генератор QR-кодов.
![](https://habrastorage.org/r/w780q1/storage1/0f3c6a42/0ccd8415/2cd88809/3b347dc1.jpg)
NWM представляет собой динамический менеджер окон для X, который был написан на NodeKO 2011 года. Он использует libev для взаимодействия с X11, и это позволяет вам оперировать окнами из Node.js.
![](https://habrastorage.org/r/w780q1/storage1/8192a4ae/408b9d21/3e0342ca/2c9ac9bc.jpg)
Bricks.js является передовым модульным веб фрэймворком на Node.js, обладающим высокой гибкостью. Bricks.js может быть использован как одиночный статический веб-сервер, как маршрутизатор или как многоуровневая Apache-подобная система маршрутизации, и он является достаточно модульным, чтобы иметь возможность полностью управлять маршрутизацией.
![](https://habrastorage.org/r/w780q1/storage1/ccd451f7/251c5e52/8ccca708/5e597412.jpg)
Список почти всех самых известных модулей Node.js, организованый по категориям. Этот список точно достоен вашего внимания (примечание переводчика: и моего отдельного обзора).
![](https://habrastorage.org/r/w780q1/storage1/4bab5dba/cb12a63f/20286049/df4b234b.jpg)
Недавно Browserling выложил для разработчиков более 90 Node.js модулей с открытым исходным кодом. Некоторые из них являются небольшими и, честно говоря, странноватыми, но многие могут оказаться очень полезными для вашего следующего проекта на Node.js.
![](https://habrastorage.org/r/w780q1/storage1/7a13f115/13fe3736/d68df206/7a3e96b0.jpg)
Calipso — это система управления контентом (CMS) на базе сервера NodeJS.
![](https://habrastorage.org/r/w780q1/storage1/69f81ba0/0954686a/59dac8b9/cc78466b.jpg)
PDFKit — библиотека для для генерации PDF документов, позволяющая легко создавать сложные, многостраничные, готовые к печати документы. Написан на чистом CoffeeScript, но вы можете использовать богатый JavaScript API. API включает в себя как функции низкого уровня, так и более высокоуровневые абстракции.
![](https://habrastorage.org/r/w780q1/storage1/112edaaf/63720a40/b7ed5421/d29e9378.jpg)
Простейшая тулзень для командной строки, превращающая скрипт в нечто среднее между запускаемым по крону и демоном.
Node.js — удивительная новая технология, но даже если вы — опытный разработчик JavaScript, процесс ознакомления с ней может быстро надоесть. Если вы хотите узнать, как использовать Node.js, этот набор статей и видеороликов точно поможет.
![](https://habrastorage.org/r/w780q1/storage1/23dcd7df/d959502d/068fc66c/fa886f00.jpg)
Еще одна интересная дискуссия на StackOverflow о том, на что способен и не способен Node.js. Рекомендуется для тех, кто взглянул на Node.js в первый раз.
![](https://habrastorage.org/r/w780q1/storage1/d7caf67c/16ec9b3e/636e19f3/d42cdaf5.jpg)
Cпасибо ivansergeev за то что указал на
![](https://habrastorage.org/r/w1560/storage1/56b8b57d/4838dbb1/3039723f/6b2a6213.png)
На сегодня, пожалуй, все. В следующей части обязательно выложу дополненый своими загажниками перевод подборки узкотехнических статей и руководств по Node.js
А вы уже используете Node.js? Что было бы интерестно прочитать в следующих статьях, и на чем сделать акцент?
![](https://habrastorage.org/storage1/4602aa26/3c66e1a7/9cf15df3/a0298b17.jpg)
И это еще не все: то, что действительно круто в Node.js — это тысячи модулей, доступных для любых целей, а также активниешее сообщество этого молодого проекта. В этом обзоре вы найдете самые полезные ресурсы по Node.js, от просто удобных инструментов и подробных руководств, до углубленных статей и ресурсов о этой перспективной технологии. Используете ли вы Node.js? Поделитесь опытом в комментариях к этотому посту!
Полезные инструменты Node.js
Node Express Boilerplate
Node Express Boilerplate позволяет начать проект с чистого листа, но при этом сразу же обеспечивает решение всех тех рутинных задач, которые зачастую могут сорвать проект еще до того, как он начат.
![](https://habrastorage.org/storage1/54ab3902/acd230e0/f3f4bade/bf381838.jpg)
Socket.IO
Socket.IO — это кросс-браузерный веб сокет, который позволяет разрабатывать real-time приложения, доступные в любом браузере и мобильном устройстве, сводя к нулю различия между механизмами транспорта. Это беззаботный реалтайм, в рамках JavaScript.
![](https://habrastorage.org/storage1/a76fde4c/c5a0f381/5715205e/710a51af.jpg)
Mastering Node
С помощью Mastering Node вы можете разрабатывать высоконагруженные веб-сервера, используя модульность CommonJS, библиотеки ядра Node.js и модули сторонних разработчиков.
![](https://habrastorage.org/storage1/96d6833c/289d8268/d1d77391/32b231f2.jpg)
Log.io
Ваша инфраструктура имеет сотни логов, распределенных по десяткам машин? Чтобы помочь вам контролировать развертывания и устранения неполадок и создан Log.io. Он позволяет мгновенно увидеть агрегированые потоки сообщений логов в едином пользовательском интерфейсе.
![](https://habrastorage.org/storage1/9313e21e/46bb9ddb/63bda874/e8ca8860.jpg)
Formaline
Formaline является низкоуровневым, полнофункциональным модулем для обработки запросов (HTTP POST и PUT), а также для быстрого парсинга загруженных файлов. Кроме того, он из коробки готов к использованию вместе с, например, Connect.
![](https://habrastorage.org/storage1/1619ffe2/db3fa41c/fa6f07e2/7ae60f8f.jpg)
LDAPjs
LDAPjs — разработанный с нуля JavaScript фреймворк для реализации LDAP клиентов и серверов в Node.js. Он предназначен для разработчиков, которые используют Node.js и Express для взаимодействия с HTTP-сервисами.
![](https://habrastorage.org/storage1/626e62d8/168e6717/3eabb027/1879ae66.jpg)
Node Supervisor
Node Supervisor это небольшой управляющий скрипт для Node.js. Он запускает ваш код и следит за изменениями кода, так что вы можете использовать горячую замену кода, не беспокоясь об утечках памяти или об очистке межмодульных зависимостей, а главное можно не париться про логику тех самых зависимостей.
![](https://habrastorage.org/storage1/86fcc493/9ebbbc86/c7aa5b3a/1acac158.jpg)
Stylus: Расширеный CSS для Node.js
Stylus создает впечатление удобного языка, который может быть преобразован в CSS. Компилятор написан на Node.js.
![](https://habrastorage.org/storage1/8df14776/ff908afc/73c65d5b/80ba10d6.gif)
Jade
Jade – шаблонизатор для Node.js приложений. Он сочетает в себе кучу возможностей и гибкость, завернутые в красивый синтаксис.
![](https://habrastorage.org/storage1/3638cdd6/a0cacb78/4c174492/b26b7dd7.jpg)
Express
Это Sinatra-подобный веб-фреймворк для Node.js: быстро, гибко и сексуально (примечание переводчика: боюсь предположить, чем вызван такой набор эпитетов — решил переводить дословно «fast, flexible and sexy», дальше фантазируем самостоятельно). Cпасибо markPnk за наводку на русские доки.
![](https://habrastorage.org/storage1/f979e811/282ee0b0/dfefcf0a/4393f4cf.jpg)
Hook.io
hook.io создает распределенные Node.js EventEmitter, которые работают кросс-процессорно / кросс-платформенно / кросс-браузерно / кросс-офигительно (имхо переводчика). Представьте себе шину событий, которая работает везде, ну действительно везде, где поддерживается JavaScript.
![](https://habrastorage.org/storage1/edcb6428/85b92a57/be6cd8ed/6acb8a77.jpg)
Node Package Manager
NPM — менеджер пакетов для Node.js. Используйте его, для установки и публикации своего кода. Он управляет зависимостями и выполняет другие полезные функции.
![](https://habrastorage.org/storage1/bc2f52e1/3801ee38/9616cb29/4034ce51.jpg)
Node-QRcode
Просто генератор QR-кодов.
![](https://habrastorage.org/storage1/0f3c6a42/0ccd8415/2cd88809/3b347dc1.jpg)
NWM
NWM представляет собой динамический менеджер окон для X, который был написан на NodeKO 2011 года. Он использует libev для взаимодействия с X11, и это позволяет вам оперировать окнами из Node.js.
![](https://habrastorage.org/storage1/8192a4ae/408b9d21/3e0342ca/2c9ac9bc.jpg)
Bricks.js
Bricks.js является передовым модульным веб фрэймворком на Node.js, обладающим высокой гибкостью. Bricks.js может быть использован как одиночный статический веб-сервер, как маршрутизатор или как многоуровневая Apache-подобная система маршрутизации, и он является достаточно модульным, чтобы иметь возможность полностью управлять маршрутизацией.
![](https://habrastorage.org/storage1/ccd451f7/251c5e52/8ccca708/5e597412.jpg)
Node.js Modules
Список почти всех самых известных модулей Node.js, организованый по категориям. Этот список точно достоен вашего внимания (примечание переводчика: и моего отдельного обзора).
![](https://habrastorage.org/storage1/4bab5dba/cb12a63f/20286049/df4b234b.jpg)
90 Node.js модулей с открытым исходным кодом
Недавно Browserling выложил для разработчиков более 90 Node.js модулей с открытым исходным кодом. Некоторые из них являются небольшими и, честно говоря, странноватыми, но многие могут оказаться очень полезными для вашего следующего проекта на Node.js.
![](https://habrastorage.org/storage1/7a13f115/13fe3736/d68df206/7a3e96b0.jpg)
Calipso
Calipso — это система управления контентом (CMS) на базе сервера NodeJS.
![](https://habrastorage.org/storage1/69f81ba0/0954686a/59dac8b9/cc78466b.jpg)
PDFKit
PDFKit — библиотека для для генерации PDF документов, позволяющая легко создавать сложные, многостраничные, готовые к печати документы. Написан на чистом CoffeeScript, но вы можете использовать богатый JavaScript API. API включает в себя как функции низкого уровня, так и более высокоуровневые абстракции.
![](https://habrastorage.org/storage1/112edaaf/63720a40/b7ed5421/d29e9378.jpg)
Forever
Простейшая тулзень для командной строки, превращающая скрипт в нечто среднее между запускаемым по крону и демоном.
Введение в Node.js
Node.js — шаг за шагом
Node.js — удивительная новая технология, но даже если вы — опытный разработчик JavaScript, процесс ознакомления с ней может быстро надоесть. Если вы хотите узнать, как использовать Node.js, этот набор статей и видеороликов точно поможет.
![](https://habrastorage.org/storage1/23dcd7df/d959502d/068fc66c/fa886f00.jpg)
Что такое Node.js?
Еще одна интересная дискуссия на StackOverflow о том, на что способен и не способен Node.js. Рекомендуется для тех, кто взглянул на Node.js в первый раз.
![](https://habrastorage.org/storage1/d7caf67c/16ec9b3e/636e19f3/d42cdaf5.jpg)
Cпасибо ivansergeev за то что указал на
Руководства по Node.js
Это перевод руководств, опубликованных Felix Geisendörfer. Включает руководство для новичков, руководство по стилю кода, информацию о сообществе Node.js и много другой очень полезной информации.![](https://habrastorage.org/storage1/56b8b57d/4838dbb1/3039723f/6b2a6213.png)
На сегодня, пожалуй, все. В следующей части обязательно выложу дополненый своими загажниками перевод подборки узкотехнических статей и руководств по Node.js
А вы уже используете Node.js? Что было бы интерестно прочитать в следующих статьях, и на чем сделать акцент?