Pull to refresh

Что нам сулит новая модель развития html5

Reading time 5 min
Views 3.3K

Думаю, многие из вас уже знают, что WHATWG перешёл к безверсионной модели развития.
В комментах началась паника по поводу «что теперь будет?». Паника — необоснованная, а решение — очень логичное и учитывающее современные реалии.
Я постараюсь объяснить, что всё это сулит. Доступно и кратко.



W3C, WHATWG, WTF?


Начнём с небольшого ликбеза по поводу отличий WHATWG и W3C. Это две разные организации, которые предследуют приблизительно одну цель — стандартизацию веба. К моему удивлению, в предыдущем топике многие их попутали

WHATWG — было основано в 2004 году компаниями Apple, Mozilla Foundation и Opera Software. Почему?

В двух словах моё субъективное мнение. Если хотите официальное — погуглите, вполне интересно.

W3C — это организация, которая сама себе на уме, возникает впечатление, что они далеки не только от программирования, но и от интернета вообще. Многие возмущаются их «стандартами». Кроме того, они тормознутые. Пока технологии идут вперед, они медленно принимают уже устаревшие стандарты. К примеру, до сих пор так и нет единого стандарта, как же располагать блоки(layout) на странице. Только какие-то Candidate Recommendation и наброски. И это учитывая то, что уже лет 7 веб верстается дивами, а до того 8 лет верстался таблицами. За эти 15 лет можно было родить что-нибудь вменяемое? А еще — w3c очень увлёкся xml, хотя на самом деле такая строгость никому нафиг не нужна была. Если вы со мной не согласны — подумайте, верстаете ли вы в xhtml1.1? Где от одного & вместо & рушилась вся страница?

В общем, пока старые пердуны из w3c сидели и делали свой xhtml2, который никому не нужен был — веб развивался совершенно в другом направлении, чего они замечать не хотели. Потому производители передовых браузеров создали свой w3c, сами знаете с чем. WHATWG оказался более дальновидным (хотя эта дальновидность заключалась в том, чтобы просто открыть любой популярный сайт и увидеть, что там применяется) и к 2009 году таки окончательно вернула w3c к жизни. Хотя те до сих пор темпа никак не наберут.

Всё будет очень плохо?


В предыдущем топике было много панических заявлений типа «браузеры теперь будут вести себя неожиданно» и «браузеры теперь могут не реализовывать стандарт полностью». Это всё не так и такой шаг только простимулирует поддержку всей спеки html браузерами. Потому что сейчас у каждого из них есть возможность оправдаться, мол «стандарт-то черновой. Хотим — реализуем, хотим — не реализуем. Вы его завершите, а мы к 2022 году подтянемся».

Сейчас стандарт — это набор спецификаций. И, скорее всего, он будет обратно-совместим за редкими исключениями. То есть если сегодня стандарт принят, то нужны будут очень существенные причины, чтобы его отменить.

Почему они приняли такое решение?


Посмотрите на поддержку браузерами разных технологий. Например, на поддержку браузерами CSS2 и CSS3. До сих пор не все поддерживают даже вторую версию, что уж говорить и о третьей? С html5 всё точно так же. И вполне возможно, что так будет продолжаться и дальше. Именно потому «версионирование» не имеет смысла — оно не помогает, а только ухудшает понимание ситуации.

WHATWG перешли на более правильную модель, которая уже используется многими современными фреймворками, например modernizr.
Браузеры имплементируют не какую-то отдельную версию стандарта, а какие-то части стандарта, среди которых регулярно появляются новые.
К примеру, браузер Firefox поддерживает Audio-API с версии 3.5, но свойство preload доступно только начиная с четвертой версии, а свойство loop — так до сих пор и не реализовано.
И такие нюансы есть у каждого браузера. Google Chrome, Opera, Interner Explorer 9, всех остальных. WHATWG просто посмотрели на рынок и подстроились под него, сделав правильно. Версии не несли за собой никакой нагрузки, кроме искусственных ограничений «к сожалению, в этой версии мы уже ничего не можем добавить». Стандарты просто будут добавлятся по мере требований рынка, а браузеры будут вынуждены их как можно быстрее реализовывать.

И как теперь нам быть?


А как были — так и быть. Ничего не поменялось. Когда вы реализовывали какую-нибудь фишку — вы смотрели, какую последнюю версию html поддерживает браузер? Нет. Вы смотрели, какие фичи поддерживает браузер, а то и вообще просто применяли правила, а у браузера как там получится! Например:
if (Modernizr.canvas) {
   var c = document.createElement('canvas');
   var context = c.getContext('2d');
   // 
   // Build your chart
   // 
   document.getElementById('chartContainer').appendChild(c);
}


.multiplebgs div p {
	/* properties for browsers that
	   support multiple backgrounds */
}
.no-multiplebgs div p {
	/* optional fallback properties
	   for browsers that don't */
}
// или даже
div p {
	border-radius: 15px; /* а в ie уголки будут квадратные, переживут */
}

Для нас ничего не поменялось. Просто WHATWG подтвердило, что это — правильный подход.

Что с названием?


Почему они отказались от приставки «5»?
Моё предположение в том, что html — это стандарт, техническая часть. html5 — это такой же тренд, как web2.0, который уже никуда не денется. Более того, html5 объединяет в себе не только html сам по себе, но и css3, javascript и всё остальное. И сейчас многие сайты сделанные при помощи обычного html4+javascript, называются html5 за какие-то особенности.
В официальном Твиттере они сообщили следующее. Видно, что они не отказываются от названия html5, а просто разделяют понятия html и html5, как что-то немного разное, потому можете не выбрасывать заказанные футболки в мусорку:
whatwg.org/html is getting renamed from HTML5 to HTML in a few hours to avoid confusion with the HTML5 buzzword. Okay? #html5

Напомню, что в самом доктайпе никогда не было упоминания html5:
<!DOCTYPE html>


На самом деле, разницы немного. В наших сердцах file api и canvas api навсегда останутся названы как html5.

Upd: что пишут в вики


В официальной вики указывают следующее:
HTML is the main focus of the WHATWG community. HTML5 is a snapshot of HTML, which is being worked on by the WHATWG community and also the W3C HTML Working Group.

HTML5 is a new version of HTML4, XHTML1, and DOM Level 2 HTML addressing many of the issues of those specifications while at the same time enhancing (X)HTML to more adequately address Web applications. Besides defining a markup language that can be written in both HTML and XML (XHTML) it also defines many APIs that form the basis of the Web architecture. Some of these APIs were known as «DOM Level 0» and were never documented before. Yet they are extremely important for browser vendors to support existing Web content and for authors to be able to build Web applications.

Going forward, the WHATWG is just working on «HTML», without worrying about version numbers. When people talk about HTML5 in the context of the WHATWG, they usually mean just «the latest work on HTML», not necessarily a specific version. For more details, see the section called "">Is this HTML5?" in the specification.


Перевод от VasilioRuzanni
HTML — основная задача сообщества WHATWG. HTML5 — это версия HTML, над которой работает сообщество WHATWG, а также рабочая группа по HTML в W3C.

HMTL5 — это новая версия HTML4, XHTML1, и DOM Level 2 HTML, задача которой состоит в исправлении многих недочетов в спецификациях вышеперечисленных стандартов, и, в то же время, в улучшении самого (X)HTML для применения в современных веб-приложениях. Кроме определения языка разметки, который может быть написан как с помощью HTML, так и XML (XHTML), он также задает множество API, которые формируют основу веб-архитектуры. Некоторые из этих API известны как «DOM Level 0» и никогда не были официально документированы. Тем не менее, они в высшей степени важны как для создателей браузеров, чьи продукты должны поддерживать как существующий веб-контент, так и для авторов веб-приложений.

Заглядывая вперед, WHATWG просто работает над «HTML», не беспокоясь о номерах версий. Когда люди говорят про HTML5 в контексте WHATWG, они обычно имеют в виду «последние наработки по HTML», а необязательно какую-то конкретную версию. Более подробно об этом можно прочитать в секции "Is this HTML5?" в спецификации


Вывод


Нововведение правильное и вполне логичное. Версионность нужна только внутри системы контроля версий, а браузеры обязаны следовать последнему стандарту html. Ждём светлого будущего с html5 =)

А кому интересно следить за развитием событий и деталями — подпишитесь на официальный Твиттер WHATWG
Tags:
Hubs:
+143
Comments 90
Comments Comments 90

Articles