Предисловие
В этом учебном пособии предполагается, что читатель обладает определенным базовым опытом работы с HTML, CSS и JavaScript. В частности, предполагается, что читатель знает, что такое элемент или тег HTML и что означают атрибуты тега, знаком с базовым синтаксисом HTML-разметки, с общей структурой Web-страницы и т.д. В отношении CSS предполагается, что читатель знаком с элементами, с классами и селекторами на базе идентификаторов, с синтаксисом CSS-свойств и порядком включения CSS в Web-страницы с помощью внутренних или внешних таблиц стилей. Наконец, предполагается, что читатель обладает определенным практическим знанием JavaScript (переменные, функции, операторы if, циклы for и т.д.) и умеет включать JavaScript-код в свои Web-страницы. Если вы ощущаете необходимость совершенствования своих знаний в области какой-либо из вышеперечисленных технологий, перед началом работы с данным пособием обратитесь к разделу Ресурсы. В этом разделе содержится ряд ссылок на полезные учебные пособия и статьи, которые помогут быстро изучить основы разработки с помощью HTML, CSS и JavaScript.
Новые концепции, появившиеся за последние десять лет (Web 2.0, Rich Internet Application, Semantic Web и т.д.), исчерпали возможности технологий HTML, CSS и JavaScript. Во многих случаях для поддержки таких компонентов, как видео и аудио, а также графически насыщенных и интерактивных приложений приходилось применять специальные подключаемые модули, такие как Flash Adobe®. Adobe Flex, платформа Microsoft®Silverlight и технология JavaFX. Все эти средства были призваны обеспечить поддержку тех областей, где слабости HTML ограничивали возможности разработчиков. Однако с появлением HTML5 язык разметки выходит на новые позиции. Полная поддержка мультимедийного контента, наличие локального хранилища и поддержка оффлайновых приложений, собственный API-интерфейс 2D-рисования и множество API-интерфейсов для разработки новых приложений – все это служит доказательством того, что технологии HTML, CSS и JavaScript позволяют реализовать мощную фронтальную часть для Web-сайтов и для Web-приложений.
Согласно широко распространенному мнению, HTML5 является одной из важнейших новых технологий 2010 года. На эту тему уже написано и опубликовано несколько книг. На протяжении многих лет Web-приложения использовали внешние подключаемые модули для реализации функций, которые не поддерживались Web-браузерами встроенным образом, в частности, функций двумерного рисования, анимации и воспроизведения мультимедийного контента. Новейшие версии спецификаций HTML и CSS призваны избавить от необходимости применения этих дополнительных браузерных компонентов для поддержки вышеуказанных функций, а также уменьшить объем требуемого JavaScript-кода (а в некоторых случаях и полностью исключить потребность в нем) для таких тривиальных задач, как, например, перетаскивание и разметка строк. Поэтапное освоение данного учебного пособия поможет читателю узнать, как использовать HTML5
HTML5 – это сравнительно новая спецификация, поэтому браузеры (на момент написания данного пособия) поддерживают ее в весьма ограниченном масштабе. Представленный в этом учебном пособии код создавался в расчете на максимально возможную совместимость с браузерами, однако некоторые функции будут работать не во всех браузерах. Если какая-либо функция в настоящее время является зависящей от браузера, это обстоятельство в явном виде отмечается в данном учебном пособии. Чтобы гарантировать возможность использования всех новых функций при разработке приложений с помощью HTML5 и CSS3, читателю рекомендуется установить в своей системе последние версии следующих Web-браузеров.
- Mozilla Firefox (версия 3.5+)
- Apple Safari (версия 4.0+)
- Opera (версия 10.0+)
- Google Chrome (версия 3.0+)
Для написания кода на HTML и CSS вам не нужен какой-либо конкретный программный продукт –подойдет любой простейший текстовый редактор (Notepad, vi, emacs и т.д.). В данном учебном пособии предполагается, что исходный текст хранится в каталоге на вашем локальном компьютере; вам не придется использовать Web-сервер или загружать какие-либо файлы на сервис Web-хостинга.