Статьи

HTML5 и рекомендация W3C Ruckus

Спецификация HTML5 наконец стала Рекомендацией W3C. Это сделано … через пятнадцать лет после HTML4.01 . Тем не менее, W3C побил предполагаемый график 2022 года на восемь лет.

Если вы верите отчетам, веб-пользователи кричат ​​со своих виртуальных крыш и устраивают импровизированные вечеринки. Есть также причудливые истории, отвлекающие от объявления и делающие смехотворные заявления, такие как:

  • Статус изменился, несмотря на горькие технические разногласия между W3C и WHATWG.
  • HTML5 — это наследие Стива Джобса, и его бы никогда не было, если бы он не предвидел (в запрете Flash).
  • Сеть еще далека от завершения, и HTML5 не будет использоваться в течение следующего десятилетия.

Вопрос для разработчиков: как это влияет на нашу ежедневную работу по созданию сайтов?

Ответ: это не имеет абсолютно никакого влияния .

Причина проста. Спецификации W3C не говорят производителям браузеров, что делать; они записывают, что было сделано . Этот момент продолжает вызывать широкое замешательство, но общий процесс прост:

  1. Поставщик А реализует функцию X в своем браузере.
  2. Поставщик B (и, возможно, C, D и т. Д.) Громко аплодирует и рассматривает реализацию в своих браузерах.
  3. Функция X документирована в спецификации W3C.
  4. Реализация обсуждается и уточняется. Статус спецификации переходит от проекта редакции к рекомендации кандидата и, наконец, к рекомендации .

Продавцы всегда имеют полный контроль. Функции не гарантируются для реализации, использования или согласованности только потому, что они появляются в документе 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 !