First version of the new WebExtensions API arrives in the latest releases of Mozilla's Firefox Nightly Edition

Mar 14, 2016 22:25 GMT  ·  By

Ever since announcing the new WebExtensions API in late August, Mozilla has been trying to convince people that their new add-ons SDK is better than the old one.

While people loved the XUL/XPCOM add-ons platform for its powerful and wide-ranging features, because these older types of add-ons worked directly with browser internals, whenever the Mozilla would update Firefox, many of its add-ons would also take a nose-dive and required developers to make updates to their code.

For this reason, Mozilla has created the new WebExtensions API, which is a clone of the extensions system employed by Chromium-based browsers like Chrome, Opera, and Vivaldi.

Firefox users don't like their browser to become a Chrome look-alike

With Firefox having an old and rabid fanbase, many users haven't welcomed the idea of Firefox becoming another cheap Chrome knockoff and have been very vocal against Mozilla's latest planned changes.

To remove any doubts about what the new WebExtension API is, and to make sure that it made this hard decision for everyone's good, Mozilla's lead engineers are now explaining why the WebExtensions API is a much better solution than the old one.

First of all, as mentioned before, having a Chromium-like extensions API allows cross-browser interoperability, which means Firefox users could at one point install Chrome extensions in their browser, and add-on developers won't have to maintain two separate codebases. Additionally, having support for cross-browser extensions is for everyone's good, since cool add-ons won't be limited to one browser alone anymore.

But Mozilla doesn't necessarily want to create a Chrome extensions type of API. "While our initial API priorities are focused on allowing Chrome extensions to interoperate with Firefox, we plan to competitively and actively expand the API capabilities of WebExtensions," Mozilla's Potch, a leading engineer explains.

The foundation will remain open to receiving feature suggestions to add to the API, even if they're not natively supported in the original Chromium extensions SDK.

WebExtensions provide better performance

A hidden feature of the WebExtensions system, borrowed from Chrome extensions, is the browser extension manifest.json file which defines where and when an extension's scripts are executed. Having this feature in Firefox should improve performance if developers take the time to properly set up these general settings files.

But the changes don't end here though, and as mentioned above, because the old XUL/XPCOM API broke many add-ons with new versions of Firefox, Mozilla has already taken all the necessary steps into fire-proofing their extensions platform for all the major changes it plans to add to Firefox in the upcoming future.

This includes multi-process support, which will bring more stability to Firefox by splitting core browser processes from a Web page's content. The new WebExtensions API will be fully compliant with this feature right from the get-go.

WebExtensions provide better security

As for security, because WebExtensions don't interact with browser internals, the chance of o rogue extension causing havoc on your system and facilitating exploit code and malware infections are incredibly smaller.

Here, the same manifest file will also be used to declare up front all the permissions an extension would need, allowing Mozilla's staff and testing utilities to detect rogue code that doesn't adhere to the manifest file much easier and faster, blackballing extensions before they cause damage, not after.

The current timeline for WebExtensions is Firefox 48, set to be released on August 2, 2016. Current versions of Firefox's Nightly Edition comes with WebExtensions support. Add-ons developers can already start submitting WebExtensions-based add-ons to Mozilla's Add-ons Portal for review.