раннем этапе развития, в рабочих группах активно обсуждаются отдельные детали (вплоть до переименования и изменения методов) и что не следует ввязываться в создание промышленного решения, базирующегося на текущей реализации в том или ином браузере, то есть, скорее всего, его придётся переделывать при следующем обновлении? Об этом можно и умолчать. Маркетинг же.

Я стараюсь хорошо думать о людях, и мне хочется верить, что когда кто-то говорит о том, что IE9 не поддерживает, скажем, Web Sockets, то он действительно опечален этим фактом, так как для его конкретного приложения предоставляемый функционал был бы чрезвычайно удобен. Могу ли я на это рассчитывать? И стоит ли, утверждая поддержку веб-сокетов в браузере X, также говорить о том, что для их работы нужно проделать несколько фокусов с настройками (а всё потому, что в этом браузере, возможно, веб-сокеты были выключены для обычных пользователей из-за обнаруженных потенциальных уязвимостей в протоколе)? Может быть, также, говоря о поддержке нового стандарта, стоит указывать все случаи изменения протокола несовместимым образом? Наверное, стоит. Но ведь можно же и умолчать.

И, кстати, для IE9 есть экспериментальная реализация веб-сокетов.

Я бы мог и продолжить. Например, ведётся очень интересное обсуждение текущего состояния AppCache (Offline Web Applications). Но мне бы очень не хотелось, чтобы всё это воспринималось как попытка оправдать IE9 в том, что он что-то поддерживает, а что-то нет.

Вопрос не в конкретных стандартах или их количестве, а в общем подходе.

Почему X не поддерживает Y?

Давайте начнём с обратного: почему браузер X вдруг начинает поддерживать технологию Y? Ответ можно сформулировать по-разному, но в целом он, скорее всего, сводится к тому, что производитель браузера X посчитал технологию Y важной и перспективной. (Без уточнения, что считать важным и что перспективным, ладно?)

У каждого производителя есть свои планы на поддержку различных технологий, учитывающие их востребованность и роль в различных сценариях. А также взгляд на важность этих сценариев, стабильность спецификаций, описывающих стандарты, имеющиеся ресурсы в команде разработки и общий объём решаемых задач.

С учётом всего этого строится приоритезация. Самое важное и востребованное оказывается наверху и реализуется в первую очередь. Что-то оказывается менее важным и ставится в очередь для следующих версий.

В какой-то степени на важность и востребованность влияет маркетинг. Когда кто-то (или многие) начинает очень громко кричать, какой он молодец, что сделал что-то очень классное, а другие производители не очень хорошие, потому что этого не сделали, волей-неволей маркетинговые ребята приходят к разработчикам и говорят, что 'надо'.

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

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

Экспериментальный набор функций должен реализовываться как экспериментальный, и я уверен: команда IE будет продолжать работу в этом направлении (см. HTML5Labs). Стабильный функционал будет становиться доступным в массовом продукте.

И ещё раз, так сказать, рефреном. Производители браузеров, безусловно, должны экспериментировать, делать пробные реализации новых стандартов, предлагать новые идеи и быть одним из двигателей развития веба. Должны ли все-все-все производители экспериментировать над каждым из стандартов? Вряд ли. Должны ли все-все-все производители реализовывать действительно важные и востребованные стабильные спецификации? Уверен, что да.

Качество поддержки стандартов

Сегодня модно ругать IE9 за то, что он не поддерживает text-shadow, хотя до сих пор все популярные браузеры, кроме IE9, неправильно отображают скруглённые уголки.

Вопрос, собственно, в следующем: когда кто-то начинает говорить, что он поддерживает стандарт Y, что он на самом деле имеет в виду? Что он начал реализовывать поддержку и что-то ещё может не работать или работать не так? Что реализовал полную поддержку? Что реализация будет работать на всех компьютерах одинаковым или сходным образом (и вообще будет работать)?

Попробуйте узнать, насколько ваш любимый браузер поддерживает CSS 2.1. Или почему различные браузеры, заявляющие поддержку Canvas, показывают различные результаты.

И дело тут не в том, кто круче, потому что крутость - понятие относительное и зачастую измеряемое неадекватными измерителями, вроде html5test.com или теcтов ACID.

Всё дело в совместимости, в идеале; у всех конечный результат должен совпадать. Проверить это и добиться этого можно только обширным согласованным тестированием. Важно, что такая работа ведется в W3C, - например, для CSS 2.1 это более 19000 тестов.

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

И да! Мы живём в интересное время: веб меняется и активно развивается прямо на наших глазах. Запасайтесь поп-корном.

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату