未来如何开发传统的Firefox附加组件? [英] How to develop legacy Firefox add-ons in the future?
问题描述
我有什么选择继续尽可能减少开发一个传统的附加组件?如果其他附加组件无法像纯粹的WebExtension一样解决这个问题,是否有任何利基项目致力于维护一些传统的扩展黑客,或者我将不得不大量修改Firefox自己以便将来安装任何旧版附加组件?
(我知道我无法将我的插件提交给AMO或者得到Mozilla的签名,支持完整扩展是一个潜在的安全风险,但是因为我的插件是针对技术对于很多观众来说,我并不太在意那些复杂的解决方法。)
现实情况是,我们还不知道在Firefox 57发布之后继续运行非基于WebExtensions的附加组件将会需要什么。我们所知道的仅仅是莫齐尔la已经声明对于Firefox 57:
- Firefox将只运行WebExtensions。
>
- AMO将在57版发布后继续支持列出和更新旧版附加组件,以便更轻松地进行转换。此支援的确切截止时间尚未确定。
已经声明对WebExtensions的限制只适用于Release和Beta渠道,所以:
有可能继续运行非基于WebExtension的插件, ons on:
- Developer Edition Nightly
- 无品牌发行和Beta(未知状态)
目前还不清楚这些是否可能。如果他们将成为可能性,旧版附加功能可能还会继续运行多长时间(包括Firefox和/或非WebExtensions被故意禁用)。 AMO将继续支持非WebExtension附加组件的列表和更新,这是一个令人鼓舞的迹象,我们仍然可以在不是主要发行版和测试版渠道的Firefox版本中使用它们。
其他选项包括:
就我个人而言,我是在类似的船。我发布的附加组件都无法移至WebExtensions。我使用的许多其他插件显然不可能迁移到WebExtensions。坦率地说,如果没有这些插件提供的功能,我并不期望使用Firefox。因此,当我们接近Firefox 57时,我将继续研究可用的选项。然而,即使我找不到使用更多功能的附加组件的选项,在Firefox 52 ESR EOL后,我可能会继续使用Firefox。我这样做,而不是切换到Chrome的主要原因是,Firefox扩展程序经过审查过程,而从Chrome存储区发布的Chrome扩展从安全和隐私的角度来看可能是非常糟糕的。
Firefox is moving towards the WebExtensions standard which promises improvements in stability, cross-browser compatibility, and more security. At the same time they're gradually dropping support for legacy add-ons (bootstrapped extensions, add-on SDK, etc.).
Unfortunately, the WebExtension APIs are much less powerful than legacy add-ons which by contrast have full control over the browser. I fully understand the motivation for the switch, but the features my add-on provides just can't possibly work with limited capabilities of a WebExtension.
What are my options to continue developing a legacy add-on with as few cutbacks as possible? How do other add-ons that won't work as a pure WebExtension solve this problem? Are there any niche projects dedicated to maintaining some sort of legacy extension "hack", or will I have to heavily modify Firefox myself to get any legacy add-ons installed in the future?
(I'm aware that I won't be able to submit my add-on to AMO or get it signed by Mozilla and that supporting full extensions is a potential security risk. But since my add-on is targeting a tech-savvy audience, I'm not too concerned about moderately complex workarounds.)
As the magic 8 ball says: "Cannot predict now".
The reality is that we don't know yet what is going to be required to continue to run non-WebExtensions based add-ons past the release of Firefox 57. All we know is that Mozilla has stated that for Firefox 57:
- Firefox will only run WebExtensions.
- AMO will continue to support listing and updating legacy add-ons after the release of 57 in order to have an easier transition. The exact cut-off time for this support hasn’t been determined yet.
It had previously been stated that the restriction to WebExtensions-only would only apply to the Release and Beta channels, so:
It may be possible to continue to run non-WebExtension based add-ons on:
- Developer Edition
- Nightly
- Unbranded Release and Beta (unknown status)
It is currently unclear if these will actually be possibilities. If they will be possibilities, it is unclear for how long it will remain possible for older add-ons to function (both due to changes to Firefox and/or non-WebExtensions being intentionally disabled). The fact that AMO will continue to support listing and updates to non-WebExtension add-ons is an encouraging sign that we will still be able to use them in Firefox releases that are not the main Release and Beta channels.
Other options include:
- The Firefox ESR 52 release. The pattern is that this would be supported through the normal release of Firefox 60, or so. Personally, I feel that Mozilla should plan to have an ESR release prior to any major changes in functionality (i.e. have a Firefox 56 ESR), but that does not appear to be how Mozilla does things.
- The various forks that have been made of Firefox. Each fork would have to be checked to see what their plans are for this change.
- Any new fork made specifically to continue to support non-WebExtension add-ons.
- A hack may be determined to re-enable non-WebExtension support, similar to the one that exists to disable checking for add-on signing.
You should keep in mind that the plans are for Firefox to fundamentally change in the future. A significant reason for moving away from the more capable add-on types (non-WebExtensions based extensions along with complete-themes) is to allow Firefox to be changed without the need to consider maintaining compatibility with more capable add-ons which rely on the internals of Firefox for their operation. When, exactly, these breaking changes will be rolled out is unclear.
Personally, I'm in a similar boat. None of my released add-ons are possible to move to WebExtensions. Many of the other add-ons which I use are clearly not possible to move to WebExtensions. Frankly, I'm not looking forward to using Firefox without the capabilities some of those add-ons provide. Thus, I will be continuing to look at what options are available as we get closer to Firefox 57.
However, even if I find no option to use more capable add-ons after Firefox 52 ESR is EOL'ed, I may continue to use Firefox. My primary reason for doing so instead of switching to Chrome would be the fact that Firefox extensions go through a review process, whereas Chrome extensions released though the Chrome store can be very bad from the point of view of both security and privacy.
这篇关于未来如何开发传统的Firefox附加组件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!