A short description
Extensions are small addons to a Mozilla product, such as Firefox or Thunderbird, that can extend the functionality of the browser to meet the user's needs.
A longer detailed discussion
Extensions allow a user to enhance their Mozilla product to meet their personal requirements without the core product being too bloated. It can be anything from a toolbar button to a small icon on the status bar to another addon to the right-click menu. Extensions can be created by anyone that has the the knowledge of the following extension-related technologies:
- XPI — Cross-Platform Installer module
- JavaScript – The primary language of Mozilla Browsers
- XUL (XML User Interface Language) – Used to define the UI (User Interface) and interaction with user.
- DOM (Document Object Model) – Used to change XUL in real-time or to edit HTML that is currently loaded
- CSS (Cascading Style Sheets)
- XPCOM/XPConnect
Extensions are installed via an XPInstall module.
Relevant resources
Examples of code or other relevent artifacts
- Tabbed Browser code - snippet of code to help work with Firefox's tabbed browser.
- MozillaZine Example Code
Newsgroups, mailinglists, IRC channels, etc. relevant to the technology
Extensions
- Extension Builder - an extension to help build an extension
- Firefox/Thunderbird Extension Wizard - Generates an extension skeleton to meet your needs
- Venkman - Mozilla-based JavaScript debugger