Статьи

5 причин отказаться от монокультуры WebKit

Объявление Opera WebKit разделило мнение разработчиков. Некоторые довольны, что поддерживается меньше движков рендеринга (не так много разработчиков активно тестировали Opera) . Другие утверждают, что это начало монокультуры WebKit и IE6-подобная гибель на нас. Правда где-то посередине, но есть несколько причин для беспокойства.

1. WebKit! = IE6, но …

WebKit — это движок с открытым исходным кодом. Он не принадлежит и не контролируется одной организацией; любой может использовать и изменять код. Для сравнения, IE (и его движок Trident) принадлежат Microsoft и доступны только в Windows. Решение Microsoft отказаться от разработки браузера не могло произойти в мире WebKit.

Однако важно помнить, что Apple и Google — две самые влиятельные мировые ИТ-компании — контролируют самые популярные браузеры WebKit. Apple также несет ответственность за обработку соглашений с разработчиками WebKit, и любая компания может принять, отклонить или изменить функции WebKit в своих коммерческих интересах. Хотя вы можете обновить ядро ​​ядра, это не имеет значения, если эти изменения в конечном итоге не дойдут до Chrome и Safari.

2. WebKit — это не один движок

Некоторые разработчики считают, что проблемы совместимости между браузерами исчезнут, если все поставщики используют один и тот же движок. Это, конечно, облегчит разработку, но наивно думать, что все проблемы будут устранены. Протестируйте достаточно сложный дизайн в Chrome и Safari сегодня, и вы столкнетесь с различиями.

WebKit разветвляется и развивается по разным путям. Поставщики имеют разные устройства, графики развертывания и требования. Например, Apple регулярно добавляет собственные специфичные для iOS свойства, которые могут никогда не дойти до W3C или появиться как рекомендации.

3. WebKit не самый лучший движок

Те, кто поддерживает монокультуру, утверждают, что WebKit победил; это избили геккона и трезубца. Они ошибаются. Ни один движок не идеален, но вы учитесь прощать или избегать проблем, когда концентрируетесь на одном браузере.

WebKit превосходен, и он, безусловно, был первым, кто попал в заголовки анимации CSS3. Но если вы думаете, что это впереди всех остальных, попробуйте использовать SVG. Попытка анимации псевдоэлементов. Используйте функцию без префикса transform, animation или calc (). Код с использованием более новых элементов формы HTML5. Попробуйте убедить поклонников Firebug отказаться от своего любимого инструмента разработки. Не верьте мне на слово — Дейв Метвин из основной команды jQuery и президент jQuery Foundation заявляет :

Каждый выпуск Chrome или Safari вызывает волнение по поводу новейших функций; кажется, никто не беспокоится о том, что уже (все еще!) сломано. В jQuery Core больше исправлений и исправлений для WebKit, чем в любом другом браузере. В целом это не недавние регрессии, а давние проблемы, которые еще предстоит решить.

Когда мы запустили очистку jQuery 2.0 для удаления хаков IE 6/7/8, мы с оптимизмом смотрели на то, что мы также сможем удалить некоторые проблемы с устаревшими патчами, необходимыми для действительно старых браузеров, таких как Safari 2. Но некоторые из этих хаков WebKit по-прежнему остаются , Это снова начинает ощущаться как oldIE, но с другим набором оправданий того, почему ничего нельзя исправить.

WebKit, Gecko, Presto и Trident — хорошие движки рендеринга. У них есть сильные стороны, у них есть слабые стороны, но никто не является абсолютным победителем во всех областях.

4. Монокультура означает и конец стандартам

Одна группа людей была полностью ответственна за разгром IE6 …

веб-разработчики

Долголетие IE6 не было ошибкой системных администраторов, медленных организаций или злой Microsoft. Десять лет назад разработчики ориентировались на IE, а не на веб-стандарты. IE6 был стандартом, рожденным от монокультуры; немногие рассматривали будущее, в котором IE не существовало.

Хотя может никогда не быть единого движка WebKit, разработчики предпочтут его по стандартам W3C. Если что-то работает в браузерах WebKit, не имеет значения, является ли эта функция проприетарной, неправильно реализованной или не работает в другом месте: она становится стандартом . На этом этапе вы должны надеяться, что WebKit никогда не будет заменен лучшей альтернативой — ужасной мыслью.

5. Конкуренция это хорошо

Я опечален, увидев кончину Presto, но Опера приняла логичное деловое решение. Их основной рынок — мобильные устройства, и Apple контролирует единственный механизм HTML, разрешенный для iPhone и iPad. Однако эти ограничения не распространяются на Microsoft и Mozilla. Им нечего получить от перехода на WebKit:

  • Если Microsoft откажется от Trident, это повлияет на все приложения Windows, использующие веб-интеграцию. Это вызвало бы хаос. Я уверен, что технически возможно реализовать мост перевода API, но сколько времени это займет и какую коммерческую выгоду это даст?
  • Mozilla не является коммерческой операцией; нет заинтересованных сторон или целей прибыли. Организация существует, потому что у нее есть Gecko, XUL и ряд связанных технологий. Хотя они могут перейти на WebKit, это приведет к завершению крупных проектов, таких как Firefox OS.

Конкуренция была хороша для веб-индустрии. Монокультура WebKit обеспечивает краткосрочную простоту разработки за счет долгосрочной эволюции и роста. Будь осторожен с желаниями.