Сегодня мы хотим представить вашему вниманию «Книгу веб-программиста. Секреты профессиональной разработки веб-сайтов», которую написал авторский коллектив: Б. Хоган, К. Уоррен, М. Уэбер, К. Джонсон, А. Годин. Авторы предлагают широкий спектр передовых методов веб-разработки: от проектирования пользовательского интерфейса до тестирования проекта и оптимизации веб-хостинга.
Как внедрить на сайт анимацию, которая работает на мобильных устройствах без установки специальных плагинов? Как использовать «резиновую» верстку, которая корректно отображается не только на настольных ПК с различными разрешениями экрана, но и на мобильных устройствах? Как использовать фреймворки JavaScript — Backbone и Knockout — для разработки пользовательских интерфейсов? Как современные инструменты веб-разработчика, такие как CoffeeScript и Sass, помогут в оптимизации кода? Как провести кроссбраузерное тестирование кода? Как планировать процесс разработки сайта с помощью инструмента Git?
Вот, что пишут авторы во Введении:
В современном мире требования к веб-разработчику не ограничиваются знанием синтаксиса HTML, CSS и JavaScript: сегодня высоко ценится умение писать хорошо тестируемый код, создавать интерактивные интерфейсы, использовать внешние сервисы и иногда даже заниматься настройкой сервера (или, по крайней мере, разбираться в устройстве серверной части приложения). В этой книге содержится более сорока практических указаний: от оригинальных дизайнерских CSS-приемов, которые не оставят равнодушным вашего клиента, до приемов настройки сервера, способных облегчить жизнь вам и вашим пользователям. Сочетание уже зарекомендовавших себя методов и самых современных решений поможет вам составить более полное представление об оптимальных средствах решения различных задач.
Для кого эта книга?
Если вы создаете веб-приложения, эта книга для вас. Если вы занимаетесь веб-дизайном или разработкой внешних интерфейсов и хотите расширить свои знания в сфере веб-разработки, вы сможете поиграть с новыми технологиями и библиотеками, которые помогут вам работать более эффективно, и параллельно с этим вникнуть в некоторые тонкости устройства серверной части.
Если вы занимаетесь разработкой серверной части приложений, но стремитесь быть в курсе современных методов создания внешних интерфейсов, вы также найдете здесь кое-что полезное, особенно в разделах о технологиях и тестировании.
И последнее: многие описанные здесь методы предполагают, что у вас есть опыт написания кода для клиентской части приложений с помощью JavaScript и jQuery. Если у вас такого опыта нет, все равно прочитайте их и внимательно разберите примеры кода. Трудности послужат стимулом для более детального изучения проблемы.
Что в этой книге?
Для начала, на пути к более совершенным методам веб-разработки, мы разберем ряд важных и интересных примеров. Каждый рецепт начинается с формулировки общей задачи, которая затем решается в контексте наиболее вероятного сценария. При этом задачи могут быть самыми разными: как протестировать сайт в разных браузерах; как быстро выполнить сборку и автоматическое внедрение простого статического сайта; как создать простую контактную форму, которая отправляет результаты по электронной почте; как настроить в Apache перенаправление URL и безопасное обслуживание страниц. Мы расскажем вам не только как можно решить проблему, но и почему ее лучше решать именно так. Так как эта книга представляет собой лишь собрание рецептов, мы не можем позволить себе подробно обсуждать более сложные архитектуры. Тем не менее после каждого рецепта вы найдете раздел «Дополнительные возможности» с указанием направления дальнейших действий.
Рецепты сгруппированы по темам, однако совсем не обязательно читать их в том порядке, в котором они приведены в книге: выбирайте те, которые вам интересны. Внутри каждой главы рецепты приводятся начиная от простых и заканчивая более сложными.
В главе 1 «Рецепты-конфетки» говорится о том, как с помощью CSS и других инструментов сделать оформление страницы более живым и интересным.
В главе 2 «Пользовательский интерфейс» мы расскажем о том, как усовершенствовать пользовательский интерфейс с помощью таких средств, как JavaScript-фреймворки (например, Knockout и Backbone), а также как создавать более удобные шаблоны для отправки HTML-сообщений.
В главе 3 «Данные» вы научитесь работать с данными пользователя. Вы создадите простую форму обратной связи, а в качестве кульминации мы расскажем, как построить приложение, управляемое базой данных, с помощью CouchApp CouchDB.
В главе 4 «Мобильные устройства» мы продолжим разговор о пользовательских интерфейсах и научим вас работать с различными мобильными платформами. Часть разделов посвящена jQuery Mobile, часть — обработке событий мультитач. Кроме того, вы узнаете, в каком случае следует создать мобильную версию страницы и как это сделать.
Глава 5 «Рабочий процесс» посвящена методам усовершенствования процесса управления данными. Здесь мы расскажем, как использовать SASS при работе с большими таблицами стилей, а также познакомим вас с CoffeeScript — новым диалектом JavaScript, который позволяет создавать чистый код, совместимый с различными системами.
В главе 6 «Тестирование» вы научитесь создавать более «пуленепробиваемые» сайты с помощью автоматизированных тестов, а также тестировать ваш собственный JavaScript-код.
Наконец, мы обратимся к созданию конечного продукта в главе 7 «Хостинг и внедрение». Сначала мы создадим виртуальную машину, которая будет использоваться как среда тестирования, что позволит нам проверить работу отдельных компонентов до окончательного внедрения приложения. Далее мы расскажем, как сделать безопасный сайт, правильно оформить переадресацию и защитить ваш контент. Мы также покажем, как автоматически внедрить сайт, не забыв загрузить нужный файл.
Что вам понадобится
В этой книге вы познакомитесь с множеством новых методов. Некоторые из них настолько новые, что еще вполне могут измениться, однако мы считаем эти методы достаточно устоявшимися, чтобы о них можно было кое-что рассказать. Тем не менее, принимая во внимание стремительное развитие веб-технологий, мы предоставляем вам возможность не отставать от нас, добавляя к исходному коду этой книги копии используемых библиотек.
Мы постарались свести требования к минимуму, однако кое-что все же следует узнать до того, как вы решите погрузиться в чтение.
HTML5 и jQuery
В наших примерах мы будем использовать HTML5-разметку. В частности, в нашей разметке вы не найдете самозакрывающихся тегов. В некоторых примерах вам встретятся новые теги, такие как <header>
и <section>
. Если вы не знакомы с HTML5, рекомендуем вам прочитать книгу Брайана Хогана «HTML5 и CSS3. Веб-разработка по стандартам нового поколения».
Нам также понадобится библиотека jQuery: на ней основывается существенная часть библиотек, предлагаемых в этой книге. В большинстве случаев наши примеры вызывают jQuery 1.7 из сети доставки контента Google. Если примеры обращаются к другим версиям jQuery, в них содержатся соответствующие указания.
Оболочка
При решении задач старайтесь пользоваться командной строкой там, где это возможно. Это существенно увеличивает производительность, так как позволяет заменить несколько щелчков мыши одной командой. Кроме того, вы сможете создавать собственные скрипты на основе инструментов командной строки. Оболочка — это программа, которая интерпретирует такие команды. Если вы работаете в системе Windows, используйте cmd.exe
. В системах OS X и Linux используйте Terminal
.
Команды обычно выглядят следующим образом:
$ mkdir javascripts
$
означает, что программа ожидает ввода команды, поэтому сам этот символ вводить не нужно. Так как команды и процессы являются платформенно независимыми, вам не составит труда выполнить указания, данные в книге, в любой системе — будь то Windows, OS X или Linux.
Ruby
Вам также потребуется установить язык программирования Ruby, так как некоторые рецепты используют его инструменты (в частности, Rake и Sass). Краткое руководство по установке Ruby можно найти в разделе «Приложение 1. Установка Ruby».
QEDServer
Некоторые рецепты используют уже существующее приложение для управления продуктом. Для этого можно установить QEDServer — независимое приложение и базу данных, требующую минимума настроек. QEDServer работает в системах Windows, OS X и Linux. Единственное, что вам потребуется, — это Java Runtime Environment. Используя термин «среда разработки», мы имеем в виду именно это. В результате мы получаем надежную серверную часть, удобную для иллюстрации наших рецептов. С ее помощью можно легко обрабатывать Ajax-запросы на локальном компьютере.
Примеры, рассмотренные в этой книге, работают с версией QEDServer, которая размещена вместе с исходными кодами на сайте книги (Версия для этой книги доступна на webdevelopmentrecipes.com).
Виртуальная машина
В некоторых главах книги используется веб-сервер на базе Linux с Apache и PHP. Созданию вашей собственной версии этого сервера посвящен Рецепт 37 «Как установить виртуальную машину». На сайте webdevelopmentrecipes.com можно получить уже готовую виртуальную машину. Для запуска виртуальной машины вам потребуется бесплатное приложение VirtualBox.
Мы надеемся, что вам понравится эта книга, и какие-то из ее идей пригодятся в вашем следующем проекте.
Сетевые ресурсы
На сайте pragprog.com/titles/wbdev размещены исходные коды для всех проектов, разработанных в рамках этой книги.
Электронная и бумажная версия книги на русском языке доступны здесь:
www.piter.com/book.phtml?978545901510
www.ozon.ru/context/detail/id/18099349/
Надеемся это издание будет вам полезно.
Автор: ph_piter