Using the Add-on SDK, you can create Firefox add-ons. You can use various standard Web technologies: JavaScript, HTML, and CSS, to create the add-ons. The SDK includes JavaScript APIs, which you can use to create add-ons and tools for creating, running, testing, and packaging add-ons.
Tutorials
- Getting started
- How to install the SDK and use the jpm tool to develop, test, and package add-ons.
- Interact with the browser
- Open web pages, listen for pages loading and list open pages.
- Development techniques
- Learn about common development techniques, such as unit testing, logging, creating reusable modules, localization, and mobile development.
- Create user interface components
- Create user interface components such as toolbar buttons, context menus, menu items, and dialogs.
- Modify web pages
- Modify pages matching a URL pattern or dynamically modify a particular tab.
- Putting it together
- Walkthrough of the Annotator example add-on.
Guides
- Contributor's guide
- Learn how to start contributing to the SDK and about the most important idioms used in the SDK code such as modules, classes and inheritance, private properties, and content processes.
- SDK infrastructure
- Aspects of the SDK's underlying technology: modules, the Program ID and the rules defining Firefox compatibility.
- Content scripts
- A detailed guide to working with content scripts.
- SDK idioms
- The SDK's event framework and the distinction between add-on scripts and content scripts.
- XUL migration
- A guide to porting XUL add-ons to the SDK. This guide includes a comparison of the two toolsets and a working example of porting a XUL add-on.
- Multiprocess Firefox and the SDK
- How to check whether your add-on is compatible with multiprocess Firefox or not and fix it accordingly.
Reference
- High-Level APIs
- Reference documentation for the high-level SDK APIs.
- Tools reference
- Reference documentation for the jpm tool used to develop, test and package add-ons, the console global used for logging, and the package.json file.
- Low-Level APIs
- Reference documentation for the low-level SDK APIs.
Join the Add-on SDK community
Choose your preferred method for joining the discussion:
- IRC: #jetpack (learn more)
- Team info: Jetpack Wiki
Document Tags and Contributors
Tags:
Contributors to this page:
rolfedh,
wbamberg,
PushpitaPikuDey,
Noitidart,
teoli,
maybe,
jsx,
konyx,
zcnewt,
willnwhite,
evold,
AmirHossein.Assadpour,
zzzjonzzz1,
crawler,
Kingkoh,
SimDev,
GARAAD,
Canuckistani
Last updated by:
rolfedh,