Mozilla has announced a new Extension API for Firefox browser called ‘WebExtensions‘ that is compatible with API used by Blink-based Chrome and Opera browsers, and they want to deprecate current Firefox XPCOM/XUL/XBL APIs from 12 or 18 months from now.
Future of XPCOM/XUL API based Firefox add-ons
Which means thousands of Firefox add-ons based on the existing API will stop working or unsupported in Firefox browser, some of the popular ones to name are:
- Tree Style Tab
- Tab Mix Plus
- Classic theme restorer
Mozilla may work with some add-on developers to make some of the mentioned above to work in their browser.
According to blink-compatible API page, the goals of WebExtensions are
- Porting add-ons to and from other browsers should be easier.
- Reviewing add-ons for addons.mozilla.org should be easier.
- WebExtensions must be compatible with multiprocess Firefox (Electrolysis).
- Changes to Firefox’s internal code should be less likely to break add-ons.
- WebExtensions should be easier to use than the existing Firefox XPCOM/XUL APIs.
“WebExtensions will behave like other Firefox add-ons; they will be signed by Mozilla, and discoverable through addons.mozilla.org (AMO) or through the developer’s website. With this API, extension developers should be able to make the same extension available on Firefox and Chrome with a minimal number of changes to repackage for each platform.” Mozilla’s Kev Needham, who works for Firefox Search and add-ons said.
Mozilla says new WebExtensions API is necessary to to take advantage of new technologies like Electrolysis, Servo or browser.html.
WebExtensions is a benefit to Chrome add-on developers, but not to Firefox developers
Firefox add-on developers need to rewrite their add-ons, while Chrome developers can easily port their extensions to Firefox browser with small changes to their code. Who’s benefiting here Chrome developers.
This is a huge change, their market share can further decline and Firefox may lose all its loyal users using because of popular add-ons which may not work with the new WebExtensions API.
Read this post for more details and other announcements Mozilla has made (we’ve only covered WebExtensions part)