The Mozilla application framework is a collection of cross-platformsoftware components that make up the Mozillaapplications. It was originally known as XPFE, an abbreviation of cross-platform front end. It was also known as XPToolkit. To avoid confusion, it is now referred to as the Mozilla application framework.
While similar to generic cross-platform application frameworks like GTK+, Qt and wxWidgets, the intent is to provide a subset of cross-platform functionality suitable for building network applications like web browsers, leveraging the cross-platform functionality already built into the Gecko layout engine.
The following are the various components of the framework:
Gecko
Gecko is a standards-based layout engine designed for performance and portability.
Necko
Necko provides an extensible API for several layers of networking from transport to presentation layers.
XUL
XUL is the basis of user interface. It is an application of XML that defines various user interface elements, mostly widgets, control elements, templates, etc. It is similar in many ways to HTML.
XBL
XBL allows one to define their own widget for use in XUL.
XPCOM
XPCOM is an object interface that allows interfacing between any programming language for which a binding has been developed
XPInstall is a technology for installing small packages like extensions and themes into Mozilla applications in form of installation archives known as XPI.
Rapid Application Development with Mozilla - a book by Nigel McFarlane, published by Prentice Hall, part of the Bruce Perens' Open Source Series (freely downloadable in PDF format)
MozDev.org: Site for projects based on the Mozilla Application Framework; not affiliated with Mozilla Corp. or the Mozilla Foundation