Спецификация HTML5 наконец стала Рекомендацией W3C. Это сделано … через пятнадцать лет после HTML4.01 . Тем не менее, W3C побил предполагаемый график 2022 года на восемь лет.
Если вы верите отчетам, веб-пользователи кричат со своих виртуальных крыш и устраивают импровизированные вечеринки. Есть также причудливые истории, отвлекающие от объявления и делающие смехотворные заявления, такие как:
- Статус изменился, несмотря на горькие технические разногласия между W3C и WHATWG.
- HTML5 — это наследие Стива Джобса, и его бы никогда не было, если бы он не предвидел (в запрете Flash).
- Сеть еще далека от завершения, и HTML5 не будет использоваться в течение следующего десятилетия.
Вопрос для разработчиков: как это влияет на нашу ежедневную работу по созданию сайтов?
Ответ: это не имеет абсолютно никакого влияния .
Причина проста. Спецификации W3C не говорят производителям браузеров, что делать; они записывают, что было сделано . Этот момент продолжает вызывать широкое замешательство, но общий процесс прост:
- Поставщик А реализует функцию X в своем браузере.
- Поставщик B (и, возможно, C, D и т. Д.) Громко аплодирует и рассматривает реализацию в своих браузерах.
- Функция X документирована в спецификации W3C.
- Реализация обсуждается и уточняется. Статус спецификации переходит от проекта редакции к рекомендации кандидата и, наконец, к рекомендации .
Продавцы всегда имеют полный контроль. Функции не гарантируются для реализации, использования или согласованности только потому, что они появляются в документе W3C. К счастью, хотя Google, Apple, Microsoft, Mozilla и Opera являются конкурентами, этот процесс поощряет совместимость, поскольку разработчикам нецелесообразно внедрять нестабильную технологию HTML5. Если мы не будем его использовать, вначале не было никакого смысла в том, чтобы производитель создавал эту функцию.
Конечно, некоторые поставщики имеют большее влияние, чем другие, или могут по-разному влиять на HTML5. Google контролирует Chrome / Chromium — лидера рынка — поэтому вероятность использования этой функции с меньшей вероятностью пока не достигнет браузера. Apple может свободно реализовывать функцию, характерную для iPhone, и ей не обязательно заботиться о том, станет ли она официальной технологией HTML5, поскольку они контролируют это устройство.
С точки зрения развития, все это не имеет значения. Сеть не зависит от устройства. Создание сайтов и приложений — или должно быть — упражнение в последовательном улучшении. Например:
- Вы можете использовать новый HTML5
<input type="date">элемент управления. Некоторые браузеры имеют полную поддержку и отображают календарь. Некоторые имеют поддержку среднего уровня и предоставляют базовую проверку даты. Некоторые не имеют поддержки и возвращаются к стандартному текстовому полю. - Вы можете принять методы CSS3, такие как анимация. Некоторые браузеры имеют полную поддержку. Некоторые требуют префикса поставщика, который вы можете опустить, добавить вручную или автоматически . Некоторые старые браузеры не поддерживают анимацию, но вы можете убедиться, что ваше приложение остается работоспособным без них.
- Вы можете хранить данные на клиенте, используя IndexDB. Вы можете определить, поддерживается ли это, проверив, существует ли
window.indexedDBи при необходимостиwindow.indexedDBк другому решению, такому как хранилище на стороне сервера. Приложение может быть не так хорошо отлажено в старых браузерах, но оно продолжит работать.
По общему признанию, многие разработчики теперь зависят от таких сред, как AngularJS, и их приложения потерпят неудачу без современного браузера и JavaScript. Этот выбор хорош, когда запасные варианты имеют ограниченную жизнеспособность. Рассмотрим HTML5-игру быстрого боя Deathmatch; он никогда не сможет работать в автономном режиме или с обработкой только на стороне сервера. В этих ситуациях вы ориентируетесь на браузер как на платформу, а не на Интернет . Это тонкое различие, но важное.
HTML5 становится Рекомендацией W3C — отличная новость, но разработчики используют ее почти пять лет. Иногда технология имеет хорошую поддержку браузера. Иногда мы решаем использовать прокладку. Иногда мы возвращаемся к меньшей функциональности или более медленной обработке на стороне сервера. Иногда мы просто отказываемся от старого, редко используемого браузера. Решение является компромиссом, основанным на технических, логистических и экономических ограничениях. Статус спецификации W3C, конкуренция с поставщиками и политика органов стандартизации всегда будут иметь незначительное влияние.
Тем не менее, у тех, кто иррационально избегал HTML5, потому что «спецификация все еще черновик» теперь меньше оправданий. HTML5 завершен; давайте сосредоточим наше внимание на HTML5.1 !