HTML объединяющий язык World Wide Web, с помощью его простых тегов человечество создало фантастически разнообразную сеть, от крупнейших Amazon, eBay и Wikipedia до личных блогов и сайтов, посвященных котам похожим на Гитлера.

Как и сам веб, HyperText Markup Language детище Тима Бернерс-Ли. В 1991 году он создал документ названный «HTML Tags», в котором предложил около двух дюжин элементов для создания веб-страниц.

Идея использовать теги, заключенные между угловыми скобками, не его, такие теги уже были в формате SGML (Standard Generalized Markup Language). Тим понимал, что создавать новые стандарты нужно на базе существующих, а разработчики HTML5 и сейчас в полной мере следуют этому принципу.

От IETF до W3C: Путь к HTML 4

Стандарта HTML 1 никогда не было, первой официальной спецификацией стал HTML 2.0, опубликованный IETF (Internet Engineering Task Force). Многие элементы в этой спецификации были заимствованы из существующих реализаций, например, тег <img> уже поддерживался, лидировавшим тогда браузером Mosaic.

Позже на смену IETF пришел W3C (World Wide Web Consortium) и следующие версии стандарта HTML публиковались на www.w3c.org. Во второй половине девяностых HTML претерпел множество изменений и ревизий, последней в череде которых стала спецификация HTML 4.01.

В начале двухтысячных HTML ожидала первая серьезная реформа.

XHTML 1: HTML как XML

Следующая после HTML 4.01, версия языка стал XHTML 1.0, X значит eXtensible (расширяемый).

Содержание спецификации XHTML 1.0 не сильно отличалось от HTML 4.01. Не было добавлено ни одного нового элемента или атрибута. Но отличался синтаксис языка. HTML дает авторам значительную свободу в написании элементов и атрибутов, XHTML требует следовать правилам XML, более строгого языка разметки, на котором основаны многие технологии W3C.

У строгих правил есть свои преимущества, они заставляют разработчиков использовать единый стиль кодирования, если прежде теги и атрибуты могли быть в верхнем регистре, нижнем регистре и любой их комбинации, то в XHTML 1.0 все теги и атрибуты должны быть в нижнем регистре.

Выход XHTML 1.0 совпал со значительным улучшением поддержки CSS в браузерах. Веб-разработчики, вдохновленные появлением стандартов, считали строгий синтаксис XHTML лучшим способом создания разметки.

Следующий версией стандарта разметки стал XHTML 1.1.

XHTML 1.0 был простым HTML переформулированным на XML, XHTML 1.1 стал настоящим XML, он больше не мог подаваться клиенту как text/html. Но если разработчик использует для документа медиа тип XML, то самый популярный веб-браузер, Internet Explorer, не сможет отобразить документ.

Стало заметно, что W3C теряет связь с современной реальностью веб.

XHTML 2: О, мы не будем это терпеть!

В W3C решили, что историю HTML нужно закончить на четвертой версии и начали работу над XHTML 2, стандартом призванным вести нас в новое будущее основанное на XML.

Несмотря на то, что название стандарта XHTML 2 не сильно отличается от XHTML 1, они совершенно не похожи. В отличии от XHTML 1, в XHTML 2 нет обратной совместимости с существующим веб-контентом и предыдущими версиями HTML, это должен был быть чистый язык, не обремененный нестройной историей предыдущих спецификаций.

Это была катастрофа.

Раскол: WHATWG TF?

Внутри W3C назревало восстание. Консорциум формулировал теоретически чистые стандарты, игнорируя потребности веб-разработчиков. Представителей Opera, Apple и Mozilla это не удовлетворяло, они хотели больше вниманию форматам которые позволяют создавать веб-приложения.

Ситуация достигла апогея на рабочей встрече в 2004 году. Ян Хиксон, работавший тогда в Opera Software, предложил расширить возможности HTML в области создания веб-приложений. Предложение было отвергнуто.

Недовольные такой политикой Opera, Apple и Mozilla сформировали свою собственную рабочую группу WHATWG (Web Hypertext Application Technology Working Group).

От Web Apps 1.0 до HTML5

Работа WHATWG, отличается от работы W3C. W3C использует подход основанный на консенсусе: вопрос поднимается, обсуждается и проводится голосование. В WHATWG вопрос также поднимается и обсуждается, но окончательное решение остается за редактором. Редактор Ян Хиксон.

На первый взгляд, подход W3C выглядит более демократичным и объективным, на практике политика и внутренние распри способствуют затягиванию принятия решений. В WHATWG все могут принимать участие в работе, но последнее слово остается за редактором, благодаря чему решения принимаются быстро. Конечно, редактор не имеет абсолютной власти и может быть отстранен решением комитета приглашенных экспертов.

С самого начала WHATWG начал работу над двумя расширениями HTML: Web Forms 2.0 и Web Apps 1.0, позже они были объединены в одну спецификацию названную HTML5.

Воссоединение

В то время как WHATWG начала разработку HTML5, W3C продолжал работу на XHTML 2. Нельзя сказать, что работа шла не достаточно быстро, она шла очень очень медленно.

В октябре 2006, Тим Бернерс-Ли признал в своем блоге, что попытка перевести веб с HTML на XML не удалась. Через несколько месяцев была создана новая рабочая группа по HTML, вместо того чтобы начать с нуля решили использовать наработки WHATWG как базу будущей версии HTML.

Все эти начала и окончания разработки сильно запутали ситуацию. W3C работает одновременно над двумя различными, несовместимыми типами разметки XHTML 2 и HTML 5 (обратите внимание на пробел перед цифрой пять). В то же время отдельная организация WHATWG, работает над спецификацией HTML5 (без пробела) которая используется как базис одной из спецификаций W3C.

XHTML мертв: да здравствует XHTML синтаксис

Ситуация начала проясняться в 2009 году, W3C объявило, что работа над XHTML 2 не будет продолжена. На самом деле формат уже давно был мертв, и это заявление только официально подтвердило факт смерти.

Смерть XHTML 2 не прошла незамеченной, XML скептики использовали этот факт как возможность лишний раз высмеять тех кто использовал XHTML 1, несмотря на то, что XHTML 1 и XHTML 2 не имеют между собой ничего общего.

В то же время, разработчики, которым XHTML 1 нравился за более строгий стиль кодирования, опасались, что HTML5 приведет к возвращению небрежного кода.

На самом деле это не обязательно, HTML5 может быть строгим или свободным настолько, насколько этого хочет разработчик.

Перспективы HTML5

Сегодняшнее положение HTML5 не столь запутано как раньше, но все еще не простое.

Над стандартом работают две группы, с различной политикой и порядком работы, очевидно, что это не простой союз.

Похоже намечается консенсус и по вопросу «С пробелом или без?» (это HTML5 без пробела, если вам интересно).

Возможно самый неясный вопрос для разработчиков желающих использовать HTML5 «Когда он будет готов?»

В одном из интервью, Ян Хиксон сказал, что HTML5 может получить статус «proposed recommendation» к 2022 году. Это вызвало волну недовольства среди веб-разработчиков, не понимающих, что значит «proposed recommendation», но знающих, что им не хватит пальцев на руках, чтобы посчитать сколько лет пройдет до 2022 года.

Это возмущение не обосновано. Статус «proposed recommendation» предполагает наличие двух полных реализаций HTML5 и, учитывая объем спецификации, эта дата выглядит даже оптимистичной. В конце концов, и сейчас браузеры не могут похвастаться безупречной поддержкой существующих стандартов. Разработчикам Internet Explorer потребовалось почти десять лет только для того чтобы добавить поддержку элемента abbr.

Действительно важной датой для HTML5 можно считать 2012 год, к этому времени он должен получить статус «candidate recommendation».

Но даже эта дата не особенно важна для веб-разработчиков, самое большое значение имеет то, когда браузеры начнут поддерживать новые возможности. Мы начинали использовать части стандарта CSS 2.1 как только браузеры начинали их поддерживать, если бы мы ждали пока все браузеры будут полностью поддерживать CSS 2.1, мы бы все еще ждали. То же самое с HTML5, не будет такой даты, чтобы можно было сказать, да сегодня язык готов к использованию. Мы можем начинать использовать части спецификации как только появиться их поддержка в браузерах.

HTML5 это не совершенно новый стандарт, созданный с нуля, это эволюционное, а не революционное изменение языка разметки, если сейчас вы используете HTML, то вы уже используете HTML5.

Translated with the permission of A List Apart Magazine7 and the author[s].

Похожие статьи