Потенциальные проблемы с монокультурой WebKit

в 9:09, , рубрики: IT-стандарты, opera, webkit, браузеры, Веб-разработка, конкуренция, монополия, метки: , , ,

Несколько дней назад стало известно, что Opera переходит на браузерный движок WebKit, на котором уже сейчас работают десятки других браузеров: Chrome, Safari, браузеры почти всех мобильных систем: iOS, Android, Amazon Kindle, BlackBerry 10, Tizen, Symbian, PlayStation 3 и проч.

На десктопах доля WebKit не такая большая (около 40%), но вот на самом перспективном рынке мобильных систем у WebKit практически монопольное положение.

Это вполне знакомая ситуация для многих, кто помнит положение дел в вебе в 2001-2005 годах, когда более 90% браузеров работало на одном движке (Trident, MSIE). К счастью, сейчас ситуация не настолько опасна: новый претендент на монополию — свободная технология, которая разрабатывается под лицензией Open Source, но всё равно остаются специфические риски.

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

Другими словами, Opera признала WebKit в качестве своеобразного стандартного движка, на котором работают «многие другие браузеры». Здесь речь идёт ни больше ни меньше, о зарождении браузерной монокультуры. У неё есть краткосрочные преимущества: это общая экономия ресурсов, ведь все работают над одним проектом. Легче разрабатывать сайты под одну платформу, а не под несколько, проще создавать интерактивные веб-приложения. Но есть и обратная сторона медали, потому что веб — это платформа. Недостатки монокультуры здесь имеют долговременный характер, считает один из разработчиков компании Mozilla Стив Флинк (Steve Fink).

Стив Флинк предлагает представить на секунду, что все мобильные системы перешли на движок WebKit. К чему это приведёт?

1. Обратная совместимость багов. Баги есть везде. Представим баг в рендеринге SVG, из-за которого фоновые изображения шириной в простое число пикселов, например, отключают прозрачность изображения. За год существования такого бага целая куча сайтов будет от него зависеть, то есть они создают дизайн с учётом этого бага. В какой-то момент баг пофиксили. Вышла новая девелоперская бета браузера. В ней рушатся все эти сайты. Патч изымают из релиза, обработка бага просто фиксируется в логах браузера. Если весь мир сидит на WebKit’е, то такая ситуация всех устраивает. Баг теперь стал частью веб-платформы.

2. Предотвращение инноваций. Представим, что через пять лет группа хакеров выпустит инновационный браузер, который равномерно расходует ресурсы всех 100 ядер стандартного процессора 2018-го года, а не полностью отжирает одно ядро на каждую вкладку. Ребята проделали героическую работу для поддержки фичи на 99% всех веб-сайтов. Вдруг эта доля падает до 98%, почему? Потому что только что вышла новая бета Webkit с новой фичей, которую многие сразу внедрили в продакшн. Вскоре доля падает до 90%: в WebKit появился неустранимый баг, который случайно ломает модель распределённой нагрузки. 80%, дело сделано, хакеры пошли писать социальную сеть для домашних птичек.

3. Чрезмерный контроль. Крупные компании имеют чрезмерное влияние на разработку браузера и могут способствовать. Например, они могут внедрить DRM в обработку HTML в браузере или блокировать создание неких инновационных API, которые угрожают их основному бизнесу или бизнесу партнёров.

4. Сложность и непредсказуемость. Комитеты по стандартизации отмирают за ненадобностью, а разработка новых стандартов диктуется рыночной необходимостью. Разработчикам веб-сайтов остаётся гадать, какие стандарты будут поддерживаться и какие появятся новые, исходя из рыночной конъюнктуры.

5. Путаница. Стив Флинк приводит пример из нынешней ситуации с некоторыми фичами CSS, которые непонятно как работают. Разработчикам на них уже плевать, они работают над следующей версией стандарта CSS5. Документация не обновлялась несколько лет. В сети можно найти сотни инструкций и видеороликов с объяснением, как использовать эти фичи CSS. В итоге, документация остаётся для тех, кто не может смотреть видео на Youtube.

В результате, пишет Стив Флинк, веб становится гораздо функциональнее, чем он был в 2013 году. Новые стандарты разрабатываются быстрее? мгновенно внедряются в браузер и повсеместно на всех сайтах. Все браузеры сразу начинают поддерживать фичу, которую только вчера Apple представила в новом девайсе. Но в монокультуре без согласованных стандартов поддержка любой фичи может исчезнуть так же быстро, как появилась. То, что сегодня быстро и удобно реализовать, завтра может перестать работать. В любом случае, документации не описывают функции целиком и полностью с той глубиной, с которой их реально можно использовать, а реализация не гарантирует совпадения со спецификациями. Это ведь тот мир, к которому мы стремимся, не правда ли?

Стив Флинк пишет, что монокультура не обязательно плохая вещь, как выбор TCP или кремния для микросхем. Это может быть хорошая вещь, но только при том условии, что она стабильна и неизменна. Хотя, даже в том же TCP находят изъяны. Но в такой системе как веб, которая стремительно развивается, где постоянно появляются новые технологии и новые незакрытые ниши, необходимо существование нескольких не связанных друг с другом агентов, которые координируют свои действия. Достаточно изучить, что такое конкуренция и зачем она нужна в экономике.

Автор: alizar

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js