- PVSM.RU - https://www.pvsm.ru -

Разработчик оценил сложность современных браузеров

Известный Linux-разработчик, соавтор графического протокола Wayland, пользовательского окружения Sway и почтового клиента Aerc, Дрю ДеВолт (Drew DeVault) провёл анализ спецификаций W3C [1], которым должны соответствовать современные браузеры.

Он скачал 1217 спецификаций [2] с помощью wget и подбил статистику утилитой wc -w (количество слов). Оказалось, что весь текущий каталог спецификаций W3C составляет 114 млн слов [3]. Для сравнения, объём спецификации C11 составляет 208 220 слов, а длина романа «Война и мир» — 188 088 слов.

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

Для сравнения многословности спецификаций W3C разработчик приводит размер других спецификаций и текстов [1]:

  • Все IETF RFC (текстовый формат), 8754 штук: 57 716 641 слов
  • POSIX (формат HTML): 2 017 056
  • USB 3.2 (PDF): 872 395
  • UEFI (PDF): 659 580
  • C++17 (PDF, последний открытый черновик): 576 344
  • C11 (PDF, последний открытый черновик): 208 220
  • Intel x86 ISA (PDF): 2 312 414

Даже если сложить всё это вместе со списком самых длинных в мире литературных романов [4], то спецификации W3C всё равно окажутся больше на 12 млн слов.

Дрю ДеВолт предполагает причину, по которой мы дошли до такого состояния: «Начиная с первой браузерной войны между Netscape и Internet Explorer, веб-браузеры использовали свои функции в качестве основного средства конкуренции друг с другом. Эта стратегия неограниченного размаха и вечной ползучести функций безрассудна, и ей позволили продолжаться слишком долго, — пишет он. — Сложность веба просто неприлична. Создание нового веб-браузера сравнимо по своим усилиям с программой "Аполлон" или Манхэттенским проектом».

То есть не то, что невозможно реализовать безопасную или корректную поддержку веба, её невозможно реализовать вообще.

Создание собственного браузерного движка, чтобы конкурировать с Google или Mozilla на сегодняшний день — совершенно глупая затея. Последняя серьёзная попытка сделать новый браузер, Servo, стала «отчасти инкубатором для рефакторинга кода Firefox, отчасти песочницей для скучающих инженеров Mozilla, чтобы повозиться с никому не нужной технологией» (WebVR).

«Последствия этого очевидны. Браузеры — это самое дорогое программное обеспечение, которое работает на обычных компьютерах. Они печально известны тем, что используют всю вашу оперативную память, захватывают очередь процессора и ввод-вывод, разряжают аккумулятор и так далее. На браузеры приходится более 8000 известных уязвимостей», — пишет Дрю ДеВолт. Статистика CVE приведена с официального сайта cve.mitre.org [5] по поисковым запросам “firefox”, “chrome”, “safari” и “internet explorer”, в сумме.

Создать конкурентную альтернативу стало задачей непреодолимой сложности. Из-за этого разработчики браузеров почувствовали безнаказанность. Браузеры перестают работать как «агенты пользователя», а вместо этого начинают работать как агенты своих создателей: «Firefox заполняется рекламой, отслеживанием и обязательными плагинами. Chrome используется компанией Google как инструмент для того, чтобы эффективно отслеживать вашу историю открытых страниц и продвигать в экосистему вредоносные технологии, такие как DRM и AMP. Дуополия браузеров также только усиливается, поскольку Microsoft теряет Edge, а WebKit значительно отстаёт от своих конкурентов».

Конечно, браузерные движки распространяются с открытым исходным кодом. К сожалению, даже сделать работоспособный форк — практически невыполнимая задача. Дело в том, что количество спецификаций W3C растёт в среднем на 200 новых спецификаций в год. Это около четырёх миллионов новых слов. Грубо говоря, около одного POSIX каждые 4-6 месяцев. «Как возможно для новой команды идти в ногу с этим поверх того возмутительного объёма, который есть уже есть? — спрашивает ДеВолт. — Браузерным войнам позволили продолжаться слишком долго. Они давно должны были сосредоточиться на конкуренции с точки зрения производительности и стабильности, а не новых "функций". Это абсолютно нелепо, и это должно прекратиться».

Автор: Дата-центр "Миран"

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/open-source/350096

Ссылки в тексте:

[1] провёл анализ спецификаций W3C: https://paste.sr.ht/~sircmpwn/13c1951014a256e9f551296a129bf6d10e9303dc

[2] 1217 спецификаций: https://www.w3.org/TR/

[3] 114 млн слов: https://drewdevault.com/2020/03/18/Reckless-limitless-scope.html

[4] самых длинных в мире литературных романов: https://en.wikipedia.org/wiki/List_of_longest_novels

[5] cve.mitre.org: http://cve.mitre.org/

[6] Источник: https://habr.com/ru/post/493018/?utm_source=habrahabr&utm_medium=rss&utm_campaign=493018