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

Эта книга предназначена для программистов, желающих создавать веб-приложения (обычные сайты, воплощающие REST-интерфейсы программирования приложений или что-то среднее между ними) с использованием JavaScript, Node и Express. Для чтения книги вам не потребуется опыт работы с Node, однако необходим хотя бы небольшой опыт работы с JavaScript.

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


Безусловно, эта книга предназначена для программистов, желающих создавать веб-приложения (обычные сайты, воплощающие REST интерфейсы программирования приложений или что-то среднее между ними) с использованием JavaScript, Node и Express. Один из замечательных аспектов разработки для платформы Node — привлечение совершенно нового круга программистов. Доступность и гибкость JavaScript привлекли программистов-самоучек со всего мира. Никогда еще в истории вычислительной техники программирование не было столь доступным. Количество и качество онлайн-ресурсов для изучения программирования (и получения помощи в случае проблем) потрясает и вдохновляет. Так что приглашаю вас стать одним из этих новых (возможно, выучившихся самостоятельно) программистов.

Кроме того, конечно, есть программисты вроде меня, уже давно работающие в этой сфере. Подобно многим программистам моего времени, я начал с ассемблера и языка BASIC, а затем имел дело с Pascal, C++, Perl, Java, PHP, Ruby, C, C# и JavaScript. В университете я столкнулся и с языками программирования более узкого применения, такими как ML, LISP и PROLOG. Многие из этих языков близки и дороги моему сердцу, но ни один из них не кажется мне столь многообещающим, как JavaScript. Так что я пишу эту книгу и для таких программистов, как я сам, с богатым опытом и, возможно, более философским взглядом на определенные технологии.

Опыт работы с Node не требуется, однако необходим хотя бы небольшой опыт работы с JavaScript. Если вы новичок в программировании, рекомендую вам Codecademy. Если же вы опытный программист, рекомендую книгу Дугласа Крокфорда «JavaScript: сильные стороны». Примеры, приведенные в этой книге, могут быть использованы с любой операционной системой, на которой работает Node, включая Windows, OS X и Linux. Примеры предназначены для работающих с командной строкой (терминалом), так что вам нужно будет хотя бы некоторое знание командной строки вашей системы.

Как устроена эта книга


Главы 1 и 2 познакомят вас с Node и Express, а также с инструментами, которые вы будете использовать во время чтения этой книги. В главах 3 и 4 вы начнете применять Express и строить каркас учебного сайта, используемого в качестве примера во всей дальнейшей книге.

В главе 5 обсуждаются тестирование и контроль качества, а глава 6 охватывает некоторые из наиболее важных структурных компонентов Node, а также их расширение и использование в Express. Глава 7 описывает шаблонизацию (с применением семантической системы веб-шаблонов Handlebars), закладывая основы практического построения сайтов с помощью Express. Главы 8 и 9 охватывают куки-файлы, сеансы и обработчики форм, очерчивая круг тем, знание которых понадобится вам для построения сайтов с базовой функциональностью с помощью Express.

В главе 10 исследуется программное обеспечение промежуточного уровня — центральная концепция Connect (одного из основных компонентов Express).

Глава 11 объясняет, как использовать программное обеспечение промежуточного уровня для отправки сообщений электронной почты с сервера, и обсуждает шаблоны сообщений и относящиеся к электронной почте вопросы безопасности.

Глава 12 предлагает предварительный обзор вопросов, связанных с вводом в эксплуатацию. Хотя на этом этапе книги у вас еще нет всей информации, необходимой для создания готового к эксплуатации сайта, обдумывание ввода в эксплуатацию сейчас избавит вас от множества проблем в будущем.

Глава 13 рассказывает о хранении данных с упором наMongoDB (одну из основных документоориентированных баз данных).

Глава 14 углубляется в подробности маршрутизации в Express (в то, как URL сопоставляются с контентом), а глава 15 отклоняется на обсуждение написания API с помощью Express. Глава 16 охватывает подробности обслуживания статического контента с упором на максимизацию производительности. Глава 17 описывает популярную парадигму «модель — представление — контроллер» (model — view — controll er, MVC) и ее соответствие Express.

В главе 18 обсуждается безопасность: как встроить в ваше приложение аутентификацию и авторизацию (с упором на использование стороннего провайдера аутентификации), а также организацию доступа к вашему сайту по протоколу HTTPS.

Глава 19 объясняет, как осуществить интеграцию со сторонними сервисами. В качестве примеров приводятся социальная сеть Twitter, картографический сервис Googl e Maps и сервис службы погоды Weather Underground.

Главы 20 и 21 готовят вас к важному моменту: запуску вашего сайта. Они охватывают отладку, так что вы сможете избавиться от каких-либо недостатков перед запуском, и процесс запуска в эксплуатацию. Глава 22 рассказывает о следующем важном этапе — сопровождении.

Завершает книгу глава 23, в которой указываются дополнительные источники информации на тот случай, если вы захотите продолжить изучение Node и Express, а также места, где сможете получить помощь и консультацию.

Учебный сайт


Начиная с главы 3, на протяжении всей книги будет использоваться единый пример — сайт турфирмы Meadowlark Travel. Поскольку я только что возвратился из поездки в Лиссабон, у меня на уме были путешествия, и сайт, выбранный мной для примера, предназначен для вымышленной туристической фирмы из моего родного штата Орегон (western meadowlark — западный луговой трупиал — это птица-символ штата Орегон). Meadowlark Travel связывает путешественников с местными экскурсоводами-любителями и сотрудничает с фирмами, выдающими напрокат велосипеды и мотороллеры и предлагающими туры по данной местности. В дополнение поддерживается база данных местных достопримечательностей, включающая историческую информацию и сервисы, учитывающие местоположение пользователя.

Как и любой учебный пример, сайт Meadowlark Travel вымышлен, но это пример, охватывающий множество проблем, с которыми сталкиваются реальные сайты: интеграция сторонних компонентов, геолокация, электронная коммерция, безопасность.

Поскольку в центре внимания этой книги инфраструктура серверной части, учебный сайт не будет завершенным — он просто служит вымышленным примером реального сайта, для того чтобы придать примерам полноту и обеспечить требуемый контекст. Вероятно, вы работаете над собственным сайтом и сможете использовать пример сайта Meadowlark Travel в качестве шаблона для него.

Об авторе


Итан Браун — старший разработчик программного обеспечения в Pop Art, маркетинговом агентстве, расположенном в Портленде. Он отвечает за архитектуру и реализацию сайтов и веб-сервисов для клиентов, начиная с малого бизнеса вплоть до международных корпораций. У него более чем 20-летний опыт программирования, и он считает, что стек JavaScript — это веб-платформа будущего.

Более подробно с книгой можно ознакомиться на сайте издательства
Оглавление
Отрывок

Для Хаброжителей скидка 25% по купону — Web
По факту оплаты бумажной книги отправляем на e-mail электронные версии книги.
Поделиться с друзьями
-->

Комментарии (16)


  1. jaybekster
    23.08.2016 12:23
    +1

    В последнее время «Питер» что-то радует


  1. EtnoLover
    23.08.2016 14:10
    +4

    Последнее издание оригинала на английском — июль 2014 года (http://shop.oreilly.com/product/0636920032977.do)
    При этом в издательстве O'Reilly в 2016 году вышло несколько книг по этой же теме.


    Есть ли возможность переводить книги с разницей в несколько месяцев от выхода оригинала? Или это невозможно? По каким причинам? (интересно очень)


    P.S. Было бы здорово, если бы вы указывали что в анонсе, что в описании книги на сайте дату издания оригинала.


    1. EtnoLover
      24.08.2016 12:55

      @ph_piter, ответите на вопрос выше?
      На более поздний вопрос вы уже ответили, а на этот нет.


      1. EtnoLover
        24.08.2016 13:02

        Оказывается, упоминание username в начале сообщения не работает.
        ph_piter, посмотрите вопрос выше, пожалуйста.


  1. aroksetxua
    23.08.2016 14:52
    +1

    Переводите больше таких прелестей и будет всем счастье.


  1. gearbox
    23.08.2016 16:30

    Взял конечно, хоть и читаю сейчас в оригинале — чисто что бы поддержать рублем. Но вот вопрос — мужики, вам зачем моя фамилия, имя, группа крови и анализ ДНК? Я когда в магазине книгу покупаю — у меня паспорт не спрашивают.


    1. mroi_dev
      23.08.2016 19:33

      Специально зарегистрировался, чтобы поддержать ваш комментарий. Только что оплачивал. Много переадресаций и форм с персональными данными, кои для покупки книги афишировать не хотелось бы.


  1. yociyavi
    23.08.2016 16:49

    А «ES6 и не только» будет в электронном варианте?


    1. ph_piter
      23.08.2016 16:51

      Да, 6 сентября.


  1. hellosandrik
    23.08.2016 22:37

    Читал в оригинале, хорошая книга. Даже не как по Express и Node.js, а в принципе по веб-разработке. Можно почерпнуть что-то полезное, но ожидать объяснения того, как, например, потоки в Node.js работают, не стоит.


  1. Koshelenok
    24.08.2016 09:27

    Может вам стоит прочитать эту книжку и сделать себе нормальный интернет-магазин?)


  1. DmitryKm
    24.08.2016 13:41

    Купил книжку, буду читать, надеюсь найду что-то интересное помимо обычной «технической» документации)


  1. Hellarazor
    25.08.2016 16:44

    А можно как-то получить бумажную версию книги, если живешь в Киеве?


    1. ph_piter
      25.08.2016 17:06

      В Вашем городе можно приобрести у наших партнеров онлайн.


  1. ruslan2k
    25.08.2016 16:46

    Mobi (Kindle) формат?


    1. ph_piter
      25.08.2016 17:06

      Если будет спрос — будем делать.