Эволюция JavaScript с каждым годом предоставляет веб-разработчикам все большее количество инноваций. Один из наиболее интересных и популярных инструментов для создания легко масштабируемых сетевых приложений является Node.js, основанный на движке V8 и превращающий JavaScript из узкоспециализированного языка в язык общего назначения. Node.js добавляет возможность JavaScript взаимодействовать с устройствами ввода-вывода через свой API (написанный на C++), подключать другие внешние библиотеки, написанные на разных языках, обеспечивая вызовы к ним из JavaScript-кода.
Прежде всего, Node.js отличается от классического JavaScript тем, что исполняемый код выполняется на стороне сервера, а не на стороне браузера. Кроме того, Node.js вместо традиционного параллелизма на основе потоков предлагает асинхронный ввод-вывод, управляемый событиями. Производительность в такой системе гораздо выше, чем при использовании многопоточной модели. Node.js идеально подходит для веб-приложений, которые не выполняют сложных вычислений, но к которым происходят частые обращения: чтение дисков, подключение к базе данных, веб-сервисы.
Цель данной книги — быстро овладеть основами Node.js, помочь вам начать разработку приложений и научить всему, что необходимо знать о «продвинутом» JavaScript.