Доминирование WebKit приводит к появлению сайтов, несовместимых с другими браузерами
13 февраля 2012 года
Дэниэл Глазман (Daniel Glazman), один из руководителей рабочей группы по развитию CSS при консорциуме W3C, опубликовал тревожные наблюдения. Еще не забыто время, когда тотальное доминирование браузера Internet Explorer 6 приводило к наводнению Сети сайтами, корректно работающими только в IE. Кажется невероятным, но подобная ситуация начинает повторяться. В настоящее время на мобильных устройствах преобладают браузеры на базе движка WebKit, что приводит к злоупотреблению со специфичными для данного движка CSS-свойствами.
Благодаря конкуренции, браузеры ушли от проблемы с разной интерпретацией стандартов и в настоящее время предоставляют схожие между собой реализации официальных и де-факто web-стандартов. Дополнительные экспериментальные возможности CSS, присущие только данному виду браузера, реализуются с использованием префиксов, таких как "-moz-", "-ms-", "-o-" и "-webkit-". Реализованные в одном браузере функции быстро подхватываются разработчиками других браузеров, что приводит к доступности идентичных возможностей, но реализованных для каждого браузера со своим префиксом ("-moz-transform", "-webkit-transform", "-o-transform", "-ms-transform"). После того как реализации унифицированы между разными браузерами вне стандарта зарождается CSS-свойство без префикса (для ранее приведённого примера браузеры начали поддерживать "transform", несмотря на то, что спецификация CSS3 ещё не принята).
Проблема состоит в том, что web-разработчики многих web-приложений не утруждают себя заботой об обеспечении совместимости и указывают только свойства для наиболее популярного продукта. Например, используют специфичное для WebKit свойство "-webkit-transform-style", забывая указать аналог, реализованный другими проектами ("-moz-transform-style"). Иногда складывается нелепая ситуация, когда разработчик указывает свойство с префиксом, игнорируя уже утверждённый аналог без префикса ( например, "-webkit-linear-gradient" вместо "linear-gradient").
Всё это приводит к нарастанию очередной волны несовместимостей сайтов со всеми доступными браузерами. Особенно остро проблема проявляется для мобильных web-приложений, которые часто пишутся только с оглядкой на движок WebKit, который одновременно является лидером по созданию различных экспериментальных возможностей, реализуемых в рамках префикса "-webkit-". Несмотря на то, что разработчикам не рекомендуется использовать CSS-свойства с префиксами, до момента появления поддерживаемого всеми браузерами аналога, многие не обращают внимание на рекомендации и активно внедряют новинки в свои проекты. Если не остановить данный процесс сейчас, производители других браузеров начнут для обеспечения совместимости с подобными проектами предоставлять поддержку префиксов "-webkit-" в неизменном виде (например, в Firefox или Opera появится "-webkit-transform"), что окончательно развяжет руки web-разработчикам в использовании данного префикса и превратит CSS-эксперименты WebKit в стандарт де-факто.
Энтузиасты пытаются решить проблему с разнородностью CSS-префиксов в открытых проектах своими силами. Например, в рамках инициативы Pre-fix the web осуществляется поиск подобных злоупотреблений CSS-префиксами и их исправление для проектов, размещённых в GitHub. В сети также предлагается подписать петицию, призывающую Microsoft, Mozilla и Opera не превращать наработки с префиксами "-webkit-" в стандарт де-факто.
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.