Add-ons/developer/communication

From MozillaWiki
< Add-ons
Revision as of 15:39, 4 August 2017 by Caitmuenster (talk | contribs) (→‎Blog Posts: added extension examples)
Jump to navigation Jump to search

A Cross-Browser API for Developing Add-ons

The technology for developing add-ons is in transition to WebExtensions APIs. These APIs let you create and maintain one codebase that works across multiple browsers, without having to update it for every Firefox release.

With the release of Firefox 57 in November, only add-ons built with WebExtensions APIs will be supported.

This page contains timelines, tutorials, and other resources to help you port your legacy add-on to use WebExtensions APIs. 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!
  • If you want to request a new WebExtensions API, please read this page.

Embedded WebExtensions - Up until Firefox 57 you can 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

  • web-ext is a command line tool designed to speed up various parts of the WebExtension development process, making development faster and easier.
  • Lookup tool to check your add-on type and get porting resource recommendations
  • Embbeded WebExtensions are available to port your stored data
  • WebExtensions Helper speeds up browser add-ons development by providing facilities for WebExtensions-based (Firefox, Chrome, Opera and Edge) extensions
  • 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.
  • Extensionizr is a wizard that helps you create a basic extension
  • Chrome Boilerplate
  • Skeleton Chrome Extension is an extension bootstrap and template

Documentation & Tutorials

Blog Posts

All WebExtensions blog posts are here.

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
    • #addon-reviewers: add-on reviews and policy
    • #amo: addons.mozilla.org bugs and development
    • #extdev: extension development
    • #themedev: theme development
    • #webextensions: web extensions