Термин HTML5 в интернете используется в двух основных контекстах: как очередная итерация стандарта гипертекстовой разметки и как собирательный термин совокупности современных технологий веб-разработки. Какой из этих вариантов верный? Правильный ответ — оба.
История возникновения
В 2004 году производителями браузеров Apple, Mozilla Foundation и Opera Software было основано сообщество WHATWG (Web Hypertext Application Technology Working Group), основным направлением деятельности которого стало развитие HTML и создание API для работы веб-приложений. Это сообщество появилось потому, что W3C пренебрежительно относились к реальным потребностям пользователей.. Они отказались от HTML в пользу XML и работали над XHTML 2.0, а сам стандарт HTML не обновлялся с 2001 года.
W3C (англ. World Wide Web Consortium) — Консорциум Всемирной паутины, организация, ответственная за разработку и внедрение технологических стандартов для Всемирной Паутины.
Сразу после создания WHATWG начали разработку нового стандарта HTML и API, необходимых для веб-приложений. В 2009 году W3C решили отказаться от работы над XHTML 2.0 и в данный момент вместе с WHATWG работают над стандартом HTML5.
API (англ. Application Programming Interface) — интерфейс программирования приложений, набор программных инструментов, предоставляемых приложением для использования в сторонних программных продуктах. Например, сервис ВКонтакте предоставляет сторонним сайтам кнопку «Мне нравится» и соответствующий API для более тесной интеграции.
Несмотря на то, что стандарт разрабатывался с 2004 года, пристальное внимание на HTML5 обратили где-то в апреле 2010 года, после того как Стив Джобс опубликовал свое заявление об отказе от технологии Flash в пользу «новых открытых стандартов, вроде HTML5». Это привело к оживленным дискуссиям в среде веб-разработчиков, ведь им приходилось считаться с поддержкой разных частей стандарта HTML5 в разнообразных браузерах, не говоря уже о функциональных отличиях между HTML5 и Flash. А в начале ноября 2011года компания Adobe, разработчик Flash, объявила, что прекращает разработку Flash для мобильных устройств, а вместо этого сконцентрирует свое внимание на разработке инструментов, использующих HTML5.
Так что же такое HTML5?
Спецификация HTML5 от группы WHATWG, помимо собственно языка разметки, содержит ряд дополнительных API для языка JavaScript, например: Web Messaging, Web Sockets, Drag and Drop, Micro Data, Web Workers. Кроме того, в спецификацию были внесены и усовершенствованы уже существующие возможности DOM.
DOM (англ. Document Object Model) — Объектная модель документа, программный интерфейс, позволяющий программам взаимодействовать с содержимым и структурой HTML, XHTML и XML документов.
Когда к разработке спецификации подключился W3C, фактически была создана вторая версия той же спецификации, теперь уже на сайте W3C. Часть программных API, присутствующих в спецификации HTML5 от WHATWG, не вошли в спецификацию HTML5 от W3C. Таким образом, на данный момент имеем две версии одного и того же стандарта.
Следует заметить, что в данный момент спецификация HTML5 все еще находится в разработке (конец работ намечен на 2014 год), поэтому привести полный перечень API и технологий, которые войдут в спецификацию, нет возможности. Однако уже сейчас понятно, что содержание двух версий спецификации не будет полностью согласовано.
Таким образом, в широком значении термина, HTML5 — это сам язык гипертекстовой разметки и все сопутствующие ему технологии, описанные в спецификациях WHATWG либо W3C. Однако, это ни в коем случае не сопутствующие технологии, вроде CSS3, которые часто ошибочно приписывают к HTML5.
Философия и преимущества
В связи с тем, что разрабатывать HTML5 начали не W3C, а WHATWG, его философия отличается от философии предыдущих версий HTML. Разработчики браузеров с неожиданной стороны подошли к вопросу обратной совместимости, детально изучив существующие решения. HTML5 был разработан таким образом, чтобы старые браузеры попросту игнорировали непонятные им части HTML документа, такие как новые тэги или свойства. Для примера, рассмотрим новый вариант указания кодировки страницы в HTML5, а именно:
На самом деле, такая форма записи будет распознана старыми браузерами как некорректная форма записи, и автоматически преобразована браузером в корректную форму (по меркам предыдущих версий HTML). Таких примеров в стандарте достаточно много, но этот, пожалуй, самый яркий из них. Помимо этого, в отличие от предыдущих версий стандарта, в спецификации HTML5 четко расписаны правила обработки некорректного синтаксиса документа, что позволяет разным браузерам воспроизводить один и тот же результат в случае ошибки в HTML документе.
Такой подход к работе над стандартом позволяет использовать HTML5 уже сейчас. Сообщество веб-разработчиков уже создало сотни скриптов для эмуляции отдельных возможностей HTML5 в более старых браузерах.
Заключение
HTML5 — это технологический стандарт, расширяющий возможности веб-приложений и существенно упрощающий их разработку. И хотя ему еще далеко до полной готовности, благодаря усилиям WHATWG и W3C мы уже сейчас ощущаем на себе прелести интернета будущего.