Спецификация 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 !