4 ms·
Finally! WebExtensions (https://developer.mozilla.org/en-US/Add-ons/WebExtensions https://developer.mozilla.org/en-US/Add-ons/WebExtensions) have slowly been be
by pimterry 9y ago
Finally! WebExtensions (https://developer.mozilla.org/en-US/Add-ons/WebExtensions https://developer.mozilla.org/en-US/Add-ons/WebExtensions) have slowly been becoming an adhoc standard for a little while now, but with a few tricky small differences here and there between browsers (e.g. https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Chrome_incompatibilities https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Ch...). So far it's just been Firefox and Edge slowly building a close approximation of Chrome's existing API, but a proper standard for this would be great, and make it much clearer what extension developers can _depend_ on, and what's optional.
Right now you basically write your extension once (probably for Chrome), and then port it to the others, often with various small manual changes or workarounds for incompatibilities. It's much better than it used to be, but still pretty inconvenient and error prone.
I can see at least a couple of differences with current implementations though, like using the `browserext://` protocol instead of `moz-extension://` and `chrome-extension://`. Does anybody more involved with this have a summary of the differences between this spec and Firefox, Edge and Chrome's implementations?
- Manishearth 9y agoI'm not very involved, but on top of the Chrome base API both Firefox and Edge have a bunch of additional APIs IIRC (I think Firefox supports all of the Chrome APIs but I'm not sure). The intent is to have the same manifest format so basic extensions work everywhere, but extensions can use browser-specific APIs that fit within the same general framework too.
- kbrosnan 9y agoOne of the big differences is that Firefox and Edge do not support any of the deprecated APIs.
- weaksauce 9y ago> I think Firefox supports all of the Chrome APIs but I'm not sure They support quite a few but not all. in addition there is a promise based version of each of the APIs that you can use in firefox under the browser namespace instead of the chrome namespace. (with a polyfill on npm too if you want that in chrome)
- syshum 9y agoYes, Finally, all browser will be chrome clones, just what we need... Sad times indeed, when people celebrate mono-culture and the lack of options... W3C is leading effort to kill the Open Web and everyone is just clapping long... EME, Browser Extensions, what will be the next thing W3C will sell to its google overlords?
- pzone 9y agoThis is wild overreaction. Google is by far the market leader, they pump out innovations in this space, and their decision to work with others mimicing its APIs so that browser extensions can have a level of cross-compatibility is is perfectly nice and pro-competition as you could possibly ask for. I guarantee you if Edge had such a flourishing browser extension marketplace Microsoft would do everything in its power to prevent the other browsers from allowing easy portability.
- syshum 9y agoPointing to another company and saying "Well they would be more evil" is not IMO a valid defense. Just because Microsoft is more anti-competitive than Google does not change anything I said
- xg15 9y agoYet the actual effect is that the Firefox' browser extension marketplace is severely reduced (by their own descision, admittedly) while Chromes' stays the same for the time being.