1,698
edits
Caitmuenster (talk | contribs) (→Don't See the WebExtensions APIs You Need?: removed information about embedded webextensions) |
Caitmuenster (talk | contribs) (→Get in Touch: updated IRC links to matrix) |
||
(18 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
=A Web-based API for Developing Extensions in Firefox= | =A Web-based API for Developing Extensions in Firefox= | ||
The [https://developer.mozilla.org/en-US/Add-ons/WebExtensions WebExtensions API] was introduced in 2016 as a stable, cross-browser platform that allows extension and theme authors to enhance the default Firefox browser. In November of 2017 it became the only officially supported extension API with the release of Firefox Quantum. The secure, sandboxed nature of the WebExtensions API means that not every legacy API can or will be available. Nevertheless, since its introduction, the WebExtensions API has grown with new features such as tab hiding and additional theme elements, all while maintaining near-complete compatibility with the Chrome extension API. Going forward, you can expect to see improvements in performance as well as additional features for user scripting, context menus, keyboard shortcuts and private browsing. | |||
Keep an eye on the [https://blog.mozilla.org/addons/ Add-ons Blog] for more information on enhancements to the WebExtensions API in upcoming releases of Firefox or, if you want real-time detailed information on upcoming changes, follow the [https://mzl.la/2MttuGN WebExtensions product in Bugzilla]. | |||
This page contains resources to help you port your legacy extension to use WebExtensions APIs. If you're looking for resources on creating a new extension, please head over to [https://developer.mozilla.org/en-US/Add-ons/WebExtensions MDN]. | |||
= | =About the WebExtensions API= | ||
*[ | |||
*[ | * [[WebExtensions/Vision|WebExtensions Vision]]: see the high-level vision for the WebExtensions API. | ||
*[ | * [[WebExtensions/policy|WebExtensions Policy]]: guidelines for what should be included in the WebExtensions API | ||
* [[WebExtensions/FAQ|WebExtensions APIs FAQs]]: Have questions about the WebExtensions API? Check out these frequently asked questions. | |||
=Migration paths for developers of legacy add-ons= | =Migration paths for developers of legacy add-ons= | ||
Line 36: | Line 32: | ||
=Tools= | =Tools= | ||
*[https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext web-ext] is a command line tool designed to speed up various parts of the WebExtension development process, making development faster and easier. | *[https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Getting_started_with_web-ext web-ext] is a command line tool designed to speed up various parts of the WebExtension development process, making development faster and easier. | ||
* [https://www.extensiontest.com/ The Extension Compatibility Test] is a utility that can test your Chrome extension's compatibility with Firefox. All you need to do is upload your .crx file. | |||
*[https://github.com/mi-g/weh WebExtensions Helper] speeds up browser add-ons development by providing facilities for WebExtensions-based (Firefox, Chrome, Opera and Edge) extensions | *[https://github.com/mi-g/weh WebExtensions Helper] speeds up browser add-ons development by providing facilities for WebExtensions-based (Firefox, Chrome, Opera and Edge) extensions | ||
* [https://webextensions.tech/ webextensions.tech] is a scaffolding UI tool for browser extensions. It lets you to input and select few parameters and outputs a complete boilerplate browser extension project. | |||
*[https://github.com/yeoman/generator-chrome-extension Chrome Extension generator] creates everything you need to get started with extension development. You can choose Browser UI(Browser,Page Action, Omnibox) type and select permissions you need. | *[https://github.com/yeoman/generator-chrome-extension Chrome Extension generator] creates everything you need to get started with extension development. You can choose Browser UI(Browser,Page Action, Omnibox) type and select permissions you need. | ||
*[http://extensionizr.com/ Extensionizr] is a wizard that helps you create a basic extension | *[http://extensionizr.com/ Extensionizr] is a wizard that helps you create a basic extension | ||
Line 44: | Line 42: | ||
=Documentation & Tutorials= | =Documentation & Tutorials= | ||
*[https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Porting_a_legacy_Firefox_add-on Porting guides that map SDK and XUL APIs to available WebExtensions APIs] | *[https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Porting_a_legacy_Firefox_add-on Porting guides that map SDK and XUL APIs to available WebExtensions APIs] | ||
* [https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension How to port a Chrome extension to Firefox] | |||
*[https://developer.mozilla.org/en-US/Add-ons/WebExtensions How-to guides] covering common add-on developer cases, like [https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Intercept_HTTP_requests intercepting web requests] and [https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Add_a_button_to_the_toolbar adding a button to the toolbar] | *[https://developer.mozilla.org/en-US/Add-ons/WebExtensions How-to guides] covering common add-on developer cases, like [https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Intercept_HTTP_requests intercepting web requests] and [https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Add_a_button_to_the_toolbar adding a button to the toolbar] | ||
*[https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Comparison_with_the_Add-on_SDK Comparison with the Add-on SDK] | *[https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Comparison_with_the_Add-on_SDK Comparison with the Add-on SDK] | ||
Line 49: | Line 48: | ||
*[https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs Browser compatibility table] for all WebExtensions APIs | *[https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Browser_support_for_JavaScript_APIs Browser compatibility table] for all WebExtensions APIs | ||
*[https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Examples Examples of WebExtensions on MDN Web Docs] | *[https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Examples Examples of WebExtensions on MDN Web Docs] | ||
=Blog Posts= | =Blog Posts= | ||
All WebExtensions blog posts are [https://blog.mozilla.org/addons/category/web-extensions/ here]. | All WebExtensions blog posts are [https://blog.mozilla.org/addons/category/web-extensions/ here]. | ||
* December 20, 2018: [https://blog.mozilla.org/addons/2018/12/20/extensions-in-firefox-65/ Extensions in Firefox 65] | |||
* November 8, 2018: [https://blog.mozilla.org/addons/2018/11/08/extensions-in-firefox-64/ Extensions in Firefox 64] | |||
* August 31, 2018: [https://blog.mozilla.org/addons/2018/08/31/extensions-in-firefox-63/ Extensions in Firefox 63] | |||
* July 5, 2018: [https://blog.mozilla.org/addons/2018/07/05/extensions-in-firefox-62/ Extensions in Firefox 62] | |||
* May 17, 2018: [https://blog.mozilla.org/addons/2018/05/17/extensions-in-firefox-61/ Extensions in Firefox 61] | |||
* April 2, 2018: [https://blog.mozilla.org/addons/2018/04/02/extensions-firefox-60/ Extensions in Firefox 60] | |||
* January 26, 2018: [https://blog.mozilla.org/addons/2018/01/26/extensions-firefox-59/ Extensions in Firefox 59] | * January 26, 2018: [https://blog.mozilla.org/addons/2018/01/26/extensions-firefox-59/ Extensions in Firefox 59] | ||
* November 20, 2017: [https://blog.mozilla.org/addons/2017/11/20/extensions-in-firefox-58/ Extensions in Firefox 58] | * November 20, 2017: [https://blog.mozilla.org/addons/2017/11/20/extensions-in-firefox-58/ Extensions in Firefox 58] | ||
Line 108: | Line 112: | ||
=Get in Touch= | =Get in Touch= | ||
* [[ | * [[Matrix]]: | ||
** | ** Add-ons: support for extensions, themes, and API development | ||
** Add-on Reviewers: add-on reviews and policy | |||
** | ** AMO: addons.mozilla.org bugs and development | ||
** | |||
* Mailing List: | * Mailing List: |
edits