У Mozilla проблема с плагинами Firefox и Flash. Сейчас он рассматривает возможность поддержки решения Chrome для Flash и его Pepper API с помощью Project Mortar.
Это странная история. Давным-давно был действительно простой способ расширить браузер под названием NPAPI. Затем плагины, особенно Flash и Java, приобрели плохую репутацию в плане безопасности. Поэтому разработчики браузеров решили, что NPAPI — плохая идея. Однако в то же время Chrome представил собственный плагин под названием Pepper. Это обещало позволить нативному коду работать очень быстро и сделать веб-приложения такими же хорошими, как и нативные приложения. Конечно, Mozilla отказалась включать Pepper в Firefox, и поэтому он остался технологией только для Google. Остальной мир перешел на asm.js и, в конечном итоге, на WebAssembly, чтобы попытаться заставить JavaScript работать достаточно быстро.
Потом начали убирать поддержку NPAPI — Chrome уже блокирует плагины; Firefox собирается; и Эдж никогда этого не поддерживал. Проблема в том, что поддержка Java, pdf и Flash осуществляется через плагины NPAPI. Кажется, что поддержка Java в основном игнорируется крупными браузерами, но PDF и Flash по-прежнему важны. Chrome и Firefox по-прежнему поддерживают Flash, но с использованием настраиваемых интерфейсов для плагинов. Firefox использует реализацию PDF-ридера на JavaScript и собирался заменить Flash таким же образом, как и в проекте Shumway. Однако в начале года Shumway закрыли без каких-либо объяснений.
Это оставляет отсутствие поддержки Flash в Firefox проблемой для Mozilla.
Теперь Mozilla незаметно представила Project Mortar, который планирует использовать программу чтения PDF-файлов PDFium от Google и код Pepper Flash для добавления обеих возможностей в Firefox. Оба проекта имеют открытый исходный код, и существует только техническая проблема, связанная с их интеграцией в Firefox. Конечно, чтобы использовать код Pepper Flash, должна быть некоторая поддержка Pepper, встроенная в Firefox, и вопрос в том, почему бы не пойти полностью и не поддержать плагины Pepper?
Почему Mozilla переходит на код, созданный Google?
Процитирую объявление:
«Project Mortar стремится сократить время, которое Mozilla тратит на технологии, которые необходимы для обеспечения полноценного просмотра веб-страниц, но не являются основной частью веб-платформы. Мы будем искать возможности для замены таких технологий другими существующими альтернативами, включая реализации других производителей браузеров.
Чтобы снизить затраты, мы можем использовать внутренние API-интерфейсы, которые не считаются веб-стандартами. Эти API не будут доступны в Интернете. Предпочтительны решения, которые снижают стоимость нашей поддержки, обеспечивают желаемый пользовательский опыт и используют веб-стандарты. »
Таким образом, похоже, что это упражнение по сокращению затрат, которое не приведет к полной реализации Pepper, но приведет к удалению поддержки NPAPI в ближайшем будущем. Большая проблема для остальных из нас заключается в том, что PDF и Flash — не единственные пользователи NPAPI — почему, например, никто не беспокоится о Java?
Firefox теряет долю рынка и теперь конкурирует за четвертое место с Edge, оставляя Chrome далеко впереди. В результате Mozilla необходимо сократить расходы, а использование кода других людей сократит усилия, которые она должна вкладывать в поддержку — вместо этого Google будет платить за ее содержание. Конечно, доведение этого до предела означает, что Mozilla может просто разветвить Chromium и внести несколько косметических изменений и позволить Google оплатить большую часть кода. Учитывая, что Mozilla в настоящее время отказывается от своей архитектуры XUL и XCOM, это не такая уж глупая идея.
Потраченные впустую усилия Shumway, замена pdf.js на PDFium, возможно, более низкого качества, реализация частичной и неполной поддержки Pepper и использование Pepper Flash — все это похоже на отсутствие планирования и видения. Будем надеяться, что это не очередной тупик.