Once you know the basics, these guides will help you with intermediate to advanced extension development topics.
In this blog post, Mark Ziesemer explains how to prevevent global namespace pollution by wrapping your extension's variables.
Editor's Pick: Security Best Practices in Extensions
Every extension developer should know and follow the security best practices outlined in this document to keep users safe.
This blog post describes what a bad first-run experience means for users, and gives tips for improving that experience.
This article describes the use of Components.utils.evalInSandbox, which is a way to evaluate code "such as remote code" without chrome privileges.
This article explains how to create sandboxed HTTP connections that don't affect the user's cookies.
Learn how to display web content in an extension without security issues.
In this blog post, Wladimir Palant gives five wrong ways to evaluate code in an extension.
Learn how to localize the names and descriptions in extension install manifests.
This article explains how to properly localize strings with plurals.
Learn how the BabelZilla localization community works.
In this video, Jono Xia explains how to go further in extension development using XPCOM, overlays, XHRs, DOM manipulation, etc. in order to make Firefox do things you might have never thought possible.
This article describes how to set up the development environment for a large, complex Firefox extension with a need for high-performance, use of third-party libraries in C/C++, or interfaces not exposed via XPCOM.
This article explains how to create an extension package with multiple items "extensions".
If you can't find what you're looking for in the above articles, try the Mozilla Developer Center's Extensions landing page.