Книга «Веб-разработка с применением Node и Express. Полноценное использование стека JavaScript»

    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

    Comments 16

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

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


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


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

          0

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

            0

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

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

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

              0
              Специально зарегистрировался, чтобы поддержать ваш комментарий. Только что оплачивал. Много переадресаций и форм с персональными данными, кои для покупки книги афишировать не хотелось бы.
              0
              А «ES6 и не только» будет в электронном варианте?
                0
                Да, 6 сентября.
                0
                Читал в оригинале, хорошая книга. Даже не как по Express и Node.js, а в принципе по веб-разработке. Можно почерпнуть что-то полезное, но ожидать объяснения того, как, например, потоки в Node.js работают, не стоит.
                  0
                  Может вам стоит прочитать эту книжку и сделать себе нормальный интернет-магазин?)
                    0
                    Купил книжку, буду читать, надеюсь найду что-то интересное помимо обычной «технической» документации)
                      0
                      А можно как-то получить бумажную версию книги, если живешь в Киеве?
                        0
                        В Вашем городе можно приобрести у наших партнеров онлайн.
                        0
                        Mobi (Kindle) формат?
                          0
                          Если будет спрос — будем делать.

                        Only users with full accounts can post comments. Log in, please.