Add-ons/developer/communication: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
m (→‎Tools: extension tools)
m (update)
Line 1: Line 1:
=Evolution in Add-on Development=
=Evolution in Add-on Development=
[[WebExtensions|WebExtensions]] are becoming the standard for add-on development in Firefox. It will be the only type of add-on supported in Firefox by the end of 2017.  
[https://developer.mozilla.org/en-US/Add-ons/WebExtensions WebExtensions] have become the standard for add-on development in Firefox. It will be the only type of add-on supported in Firefox by the end of 2017 with the release of [https://wiki.mozilla.org/RapidRelease/Calendar Firefox 57].


This page contains timelines, tutorials, and other resources to help you port your add-on to WebExtensions. If you're looking for resources on creating a new add-on, please head over to [https://developer.mozilla.org/en-US/Add-ons/WebExtensions MDN].
This page contains timelines, tutorials, and other resources to help you port your add-on to WebExtensions. If you're looking for resources on creating a new add-on, please head over to [https://developer.mozilla.org/en-US/Add-ons/WebExtensions MDN].


=====What's New=====
=====What's New=====
*Use [https://blog.mozilla.org/addons/2017/01/20/migrating-to-webextensions-port-your-stored-data/ Embbeded WebExtensions] to port your stored data
*[http://webextensions-experiments.readthedocs.io/ WebExtensions Experiments]: prototype WebExtension APIs without having to build Firefox
*[http://webextensions-experiments.readthedocs.io/ WebExtensions Experiments]: prototype WebExtension APIs without having to build Firefox
*Help plan and prioritize WebExtensions APIs by joining the new bi-weekly [[Add-ons/Contribute/Triage|public triage]].
*Help plan and prioritize WebExtensions APIs by joining the new bi-weekly [[Add-ons/Contribute/Triage|public triage]].
*Thanks to [https://github.com/aterranova-bv aterranova-bv] for the new [https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Examples#Emoji_Substitution Emoji Substitution WebExtension Example]!


=Timelines & Roadmaps=
=Timelines & Roadmaps=
Line 29: Line 29:
*If you just want to request a WebExtensions API, please [https://bugzilla.mozilla.org/enter_bug.cgi?product=Toolkit&component=WebExtensions:%20Untriaged file a bug]. These will be triaged and processed in a [[Add-ons/Contribute/Triage|bi-weekly public meeting]].
*If you just want to request a WebExtensions API, please [https://bugzilla.mozilla.org/enter_bug.cgi?product=Toolkit&component=WebExtensions:%20Untriaged file a bug]. These will be triaged and processed in a [[Add-ons/Contribute/Triage|bi-weekly public meeting]].


[https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Embedded_WebExtensions Embedded WebExtensions] - In Firefox 51, you will be able to embed a WebExtensions add-on inside an existing SDK or bootstrapped add-on. This is especially useful to developers of SDK or bootstrapped add-ons who want to start migrating to WebExtensions and take advantage of new APIs like Native Messaging, but can’t fully migrate yet. It’s also useful for developers who want to complete data migration towards WebExtensions, and who want to take parts of their add-on that are not compatible with [https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox multiprocess Firefox] and make them compatible.
[https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Embedded_WebExtensions Embedded WebExtensions] - You can now embed a WebExtensions add-on inside an existing SDK or bootstrapped add-on. This is especially useful to developers of SDK or bootstrapped add-ons who want to start migrating to WebExtensions and take advantage of new APIs like Native Messaging, but can’t fully migrate yet. It’s also useful for developers who want to complete data migration towards WebExtensions, and who want to take parts of their add-on that are not compatible with [https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox multiprocess Firefox] and make them compatible.


Not all add-ons will be able to migrate to WebExtensions without having to drop any features. But we want to work with you to get as many add-ons migrated as possible with the functionality you created intact. We invite you to contribute to its evolution, and we look forward to [[Add-ons/developer/communication#Get_in_Touch|working with you]].
Not all add-ons will be able to migrate to WebExtensions without having to drop any features. But we want to work with you to get as many add-ons migrated as possible with the functionality you created intact. We invite you to contribute to its evolution, and we look forward to [[Add-ons/developer/communication#Get_in_Touch|working with you]].
Line 35: Line 35:
=Tools=
=Tools=
*[https://compatibility-lookup.services.mozilla.com/ Lookup tool] to check your add-on type and get porting resource recommendations
*[https://compatibility-lookup.services.mozilla.com/ Lookup tool] to check your add-on type and get porting resource recommendations
*[https://blog.mozilla.org/addons/2017/01/20/migrating-to-webextensions-port-your-stored-data/ Embbeded WebExtensions] are available to port your stored data
*[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://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.
Line 50: Line 51:


=Blog Posts=
=Blog Posts=
*Jan 25, 2017: [https://blog.mozilla.org/addons/2017/01/25/webextensions-in-firefox-53/ WebExtensions in Firefox 53]
*Jan 20, 2017: [https://blog.mozilla.org/addons/2017/01/20/migrating-to-webextensions-port-your-stored-data/ Migrating to WebExtensions: port your stored data]
*Dec 16, 2016: [https://blog.mozilla.org/addons/2016/12/16/meet-some-nifty-new-webextensions/ Meet Some Nifty New WebExtensions]
*Nov 23, 2016: [https://blog.mozilla.org/addons/2016/11/23/add-ons-in-2017/ Add-ons in 2017]
*Nov 23, 2016: [https://blog.mozilla.org/addons/2016/11/23/add-ons-in-2017/ Add-ons in 2017]
*Nov 22, 2016: [https://blog.mozilla.org/addons/2016/11/22/webextensions-examples-and-hacktoberfest/ webextensions-examples and Hacktoberfest]
*Nov 18, 2016: [https://blog.mozilla.org/addons/2016/11/18/webextensions-in-firefox-52/ WebExtensions in Firefox 52]
*Nov 18, 2016: [https://blog.mozilla.org/addons/2016/11/18/webextensions-in-firefox-52/ WebExtensions in Firefox 52]
*Nov 3, 2016: [https://blog.mozilla.org/addons/2016/11/03/more-ways-to-contribute-to-webextensions/ More ways to contribute to WebExtensions]
*Nov 3, 2016: [https://blog.mozilla.org/addons/2016/11/03/more-ways-to-contribute-to-webextensions/ More ways to contribute to WebExtensions]

Revision as of 19:02, 27 January 2017

Evolution in Add-on Development

WebExtensions have become the standard for add-on development in Firefox. It will be the only type of add-on supported in Firefox by the end of 2017 with the release of Firefox 57.

This page contains timelines, tutorials, and other resources to help you port your add-on to WebExtensions. If you're looking for resources on creating a new add-on, please head over to MDN.

What's New

Timelines & Roadmaps

Migration paths for developers of legacy add-ons

1) SDK add-on

Here is the comparison chart showing SDK APIs and their WebExtensions counterparts. If you don't see the APIs you need to port to WebExtensions, please take a look at some more options below.

2) XUL or XPCOM add-on

Here is the comparison chart showing XUL/XPCOM APIs and their WebExtensions counterparts. If you don't see the APIs you need to port to WebExtensions, please take a look at some more options below.

Don't See the WebExtensions APIs You Need?

  • If you're experienced with Mozilla infrastructure and would like to develop WebExtensions APIs directly for Firefox, here is a list of approved APIs that you can start contributing to.
  • If you want to prototype and tinker with WebExtensions APIs without having to build Firefox, WebExtensions Experiments is for you!

Embedded WebExtensions - You can now embed a WebExtensions add-on inside an existing SDK or bootstrapped add-on. This is especially useful to developers of SDK or bootstrapped add-ons who want to start migrating to WebExtensions and take advantage of new APIs like Native Messaging, but can’t fully migrate yet. It’s also useful for developers who want to complete data migration towards WebExtensions, and who want to take parts of their add-on that are not compatible with multiprocess Firefox and make them compatible.

Not all add-ons will be able to migrate to WebExtensions without having to drop any features. But we want to work with you to get as many add-ons migrated as possible with the functionality you created intact. We invite you to contribute to its evolution, and we look forward to working with you.

Tools

Documentation

Blog Posts

Add-on Developer Communication Calendar

This calendar includes public meetings, scheduled blog posts, office hours, release milestones that affect add-on developers, and more. Links to add it to your own calendar: iCal | HTML

Error in widget Widget:Google Calendar: Unable to load template 'wiki:Widget:Google Calendar'

Get in Touch

  • IRC:
    • #teamaddons: team chat
    • #addons: support for extensions, themes, plugins and addons.mozilla.org
    • #amo: addons.mozilla.org bugs and development
    • #amo-editors: add-on reviews and policy
    • #extdev: extension development
    • #themedev: theme development
    • #webextensions: web extensions