Extensions add new functionality to Mozilla applications such as Firefox, SeaMonkey and Thunderbird. They can add anything from a toolbar button to a completely new feature. They allow the application to be customized to fit the personal needs of each user if they need additional features, while keeping the applications small to download.
Extensions are different from plugins, which help the browser display specific content like playing multimedia files. Extensions are also different from search plugins, which plug additional search engines in the search bar.
Documentation
General (applicable to all Mozilla apps)
- Setting up an extension development environment
- A few essential setup tips that make extension development easier.
- Bootstrapped extensions {{gecko_minversion_inline("2.0")}}
- How to create extensions that can be installed, uninstalled, and upgraded without requiring an application restart.
- XUL School Tutorial
- A comprehensive extension development tutorial.
- Building an Extension
- Introductory tutorial for creating a basic extension.
- Inline options {{gecko_minversion_inline("7.0")}}
- How to use the new preference UI that appears inline in the Add-on Manager window starting in Firefox 7.
- Security best practices in extensions
- Guide for developers to ensure users of the extension are safe.
- Performance best practices in extensions
- How to build extensions that perform well and don't hurt application performance.
- Extension etiquette
- General extension best practices to make the user experience as good as possible.
- Extension packaging
- How to package your extension for downloading and installation.
- XUL
- Documentation for XUL, the markup language used for describing user interfaces for Mozilla extensions.
- Performance
- Performance guides and utilities to help you make your add-on perform well (and to play nicely with others).
- Installing extensions
- How to programmatically install extensions.
- Submitting an add-on to AMO
- How to distribute your add-on using the AMO web site.
- Extension Frequently Asked Questions
- Common questions and answers about extension development.
Application Specific
SeaMonkey
Extensions support in SeaMonkey 2
Fennec (mobile browser)
Community
- View Mozilla extension development forums...{{DiscussionList("dev-extensions", "mozilla.dev.extensions")}}
- #extdev IRC channel
- MozillaZine forum
- about:addons newsletter
- Mozilla's Web-Tech blog
- mozdev project owners
- Planet Mozilla
- Other community links...
Tools
- DOM Inspector - inspect DOM, CSS, and XBL (Firefox and Thunderbird)
- Venkman, a JavaScript debugger (Firefox, Thunderbird)
- Mozilla Add-on Builder
- Extension Developer's Extension a suite of development tools
- Chrome List view files in chrome:// (Firefox, Thunderbird)
- Extension Wizard a web-based extension skeleton generator (Firefox and Thunderbird)
... more tools ...
Related Topics