Трудно вспомнить, насколько радикальным был Firefox при первом появлении, но теперь его переделывают с использованием немного скучной, но потенциально более эффективной архитектуры. Проблема в том, что это затрудняет создание таких расширенных расширений, которые в первую очередь сделали Firefox популярным.
Мы должны помнить, что средний пользователь не так разборчив, как средний программист, когда дело касается браузера. Меня всегда удивляло, что у Chrome так много пользователей, когда Windows поставляется с Edge, браузером, который идеально подходит для использования. Фактически, Edge — это пример того, что происходит, когда вы решаете начать все сначала. Сначала браузеру мало ресурсов, а затем он начинает расти, чтобы соответствовать требованиям реального мира. Когда он достиг среднего возраста, он реализовал большую часть беспорядка, такого как HTML, CSS, JavaScript и все дополнительные функции, из которых состоит современный Интернет — WebGL, DRM и так далее. В этот момент браузер начинает скрипеть по швам, и все задействованные программисты хотят, чтобы они могли очистить колоды и начать все сначала. Так что фаза старости — это постоянная борьба за поддержание кодовой базы в хорошей форме. Это произошло с Chrome, и это произойдет с Edge.
С другой стороны, у Firefox было несколько иное начало жизни. В нем реализована новаторская архитектура. Он использовал HTML для своего пользовательского интерфейса или для своего хрома, как мы его называли. Когда вы смотрите на веб-страницу, которую Firefox представляет вам, HTML не останавливается на границах страницы. Все меню, кнопки, ленты, фреймы и т. Д. Являются HTML. Технология называется XUL, и Mozilla изобрела слой кода под названием XCOM, чтобы позволить JavaScript работать с XUL. Идея заключалась в том, что XUL может стать универсальной архитектурой с открытым исходным кодом для Интернета, но этого не произошло.
Однако XUL позволил писать расширения на HTML / JavaScript таким образом, чтобы они могли глубоко интегрироваться в браузер. Возможно, именно это сделало Firefox привлекательным для многих пользователей, которые хотели изменить его поведение. Это определенно сделало его привлекательным для программистов-расширений.
Обратной стороной является то, что XUL медленный, неэффективный и сложный для расширения. Это больше не похоже на современную архитектуру, скорее на ту, чье время прошло, потому что она так и не стала популярной. В результате Mozilla в настоящее время перестраивает Firefox без XUL. Это отчасти возбуждает и удручает. В результате Firefox может быть более стабильным и может быть быстрее, но, конечно, не будет таким настраиваемым. Частично изменение заключается в принятии подхода Chrome к расширениям, то есть WebExtensions. По-прежнему неясно, сможет ли Firefox запускать все расширения Chrome и наоборот, поэтому важно, чтобы существующие расширения на основе XUL были перенесены, но это кажется маловероятным.
Возьмем, к примеру, сообщение в блоге известного создателя расширений Луиса Мигеля. Он пишет:
Я больше не могу работать над своими надстройками. Извини, но пора.
WebExtensions отлично подходят для добавления функций в браузер и, без сомнения, универсальны и просты в использовании. Однако манипуляции с интерфейсом и функциональностью окна браузера будут чрезвычайно ограничены по определению, и даже если бы это было не так, реализовать такие возможности в WebExtensions практически невозможно.
Далее он подробно объясняет, в чем заключаются проблемы, и как он надеется, что Mozilla продолжит поддерживать расширения на основе XUL. Конечно, Mozilla этого не сделает. Сохранение какой-либо части подхода XUL затрудняет переделку Firefox как многопроцессорного, полностью изолированного браузера. Как выразился Луис:
«Я искренне надеюсь, что это их шаг, в котором они преуспеют, поскольку альтернатива не будет приятным исходом ни для кого в онлайн-мире, и я хотел бы быть частью этого и помочь построить и отточить его до выдающейся платформы. они намереваются стать им. Жаль, что у нас такие расходящиеся пути, я по-прежнему пессимистично отношусь к текущей стратегии Mozilla, поэтому я должен сделать новую для себя. Тем не менее, я желаю удачи всем присутствующим; я все еще боюсь тебе это понадобится «.
Похоже, Firefox будет продолжать преследовать Chrome, и сложно сказать, технически ли это необходимо. У Mozilla больше нет уверенности в том, чтобы создать что-то радикальное, как XUL, чтобы выделить свой браузер.
Или нет?
Вы можете возразить, что создание языка программирования Rust — это как раз такое нововведение. Трудно сказать однозначно, насколько важен Rust для нового Firefox, но ясно, что он проникает в кодовую базу. После версии 53 Firefox вообще потребует компиляции Rust. Это само по себе вызовет проблемы для последующих проектов, которые используют код Firefox для создания собственных браузеров. Не все из них смогут легко внести изменения в Rust.
Понятно, что Firefox действительно теряет свою индивидуальность. У Mozilla нет другого выбора, кроме как продолжать модернизацию. Rust должен сделать код более безопасным и, возможно, даже быстрее. Настоящий вопрос в том, что если он сделает Firefox лучше, сможет ли кто-нибудь проложить путь к его двери?
Если вы хотите, чтобы ваш голос был услышан, хотя бы в небольшой степени, то на сайте change.org есть петиция о сохранении расширений Firefox XUL. На момент написания там всего 67 подписей. Я сомневаюсь, что это того стоит, потому что Mozilla никак не может остановить проект сейчас.