Изучаем Node.js

Изучаем Node.js
Автор: Шелли Пауэрс
Год: 2014
ISBN: 978-5-496-00356-8
Страниц: 400
Язык: Русский
Формат: PDF
Размер: 22 Мб

Download

Node.js является серверной технологией, которая основана на разработанном компанией Google JavaScript-движке V8. Это прекрасно масштабируемая система, поддерживающая не программные потоки или отдельные процессы, а асинхронный ввод-вывод, управляемый событиями. Она идеально подходит для веб-приложений, которые не выполняют сложных вычислений, но к которым происходят частые обращения. По целям использования Node сходен с фреймворками Twisted на языке Python и EventMachine на Ruby. В отличие от большинства программ JavaScript этот фреймворк исполняется не в браузере клиента, а на стороне сервера.
С помощью этого практического руководства вы сможете быстро овладеть основами Node. Книга понравится всем, кто интересуется новыми технологиями, например веб-сокетами или платформами создания приложений. Эти темы раскрываются в ходе рассказа о том, как использовать Node в реальных приложениях.

+

Это не совсем JavaScript

Вы выбрали для изучения Node весьма удачный момент.

Технологии, развивающиеся вокруг Node, довольно свежи и полны жизни, постоянно появляются новые варианты и уточнения. В то же время технологическая база достигла достаточного уровня зрелости, гарантирующего, что время на изучение Node будет потрачено не зря: установка еще никогда не была такой простой, даже под Windows «лучшие в своем классе» модули начинают выделяться среди, пожалуй, сотен других доступных модулей, инфраструктура стала достаточно надежной для ее практического использования.

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

Во-вторых, необходимо помнить, что Node — это не просто JavaScript, это серверная технология, а значит, некоторые функциональные средства (и защитные механизмы), привычно ожидаемые в браузере, здесь не нужны, зато нужны многие новые и потенциально совершенно незнакомые способности.

Но если Node — это почти то же самое, что JavaScript в браузере, то почему Node?

Почему именно Node?

Если исследовать исходный код Node, то в нем обнаружится исходный код V8 (с технической стороны — ECMAScript), то есть JavaScript-движка, разработанного в Google и используемого в ядре браузера Google Chrome. Одно из преимуществ Node.js заключается в возможности разработки Node-приложений только для одной реализации JavaScript, а не для полудюжины различных браузеров и их версий.

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

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

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

Для кого предназначена эта книга

Почему-то считается, что большинство людей, пришедших к Node-разработке, прежде имели дело с Ruby, Python или Rails. Лично я так не думаю, поэтому, рассказывая о Node-компонентах, не буду говорить что-то вроде: «А это похоже на Синатру».

В этой книге предполагается лишь то, что вы, читатель, прежде программировали на JavaScript и хорошо знакомы с этим языком. Вам не нужно быть специалистом высшей квалификации, но вы должны знать, о чем идет речь, когда я говорю о замыканиях, у вас должен быть опыт работы с Ajax, вы должны понимать, что такое обработка событий в клиентской среде. Кроме того, книга будет вам понятнее, если вы занимались обычной веб-разработкой и знакомы с такими понятиями, как HTTP-методы (GET и POST), веб-сеансы, cookie-файлы и т. д. Вы также должны уметь работать либо с консолью в Windows, либо с командной строкой в Mac OS X или Linux (Unix).

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

Самое важное при чтении книги — не бояться столкнуться с непонятным. Будьте готовы, что вам периодически придется натыкаться на препятствия в виде альфа- и бета-версий и сталкиваться с ляпами динамической технологии. В конце концов, ведь главное — это изучение Node, что действительно интересно.