TheMozilla application framework is a collection ofcross-platformsoftware components that make up theMozillaapplications. It was originally known asXPFE, anabbreviation of cross-platform front end. It was also known asXPToolkit. To avoid confusion, it is now referred to as the Mozilla application framework.
While similar to generic cross-platformapplication frameworks likeGTK+,Qt andwxWidgets, the intent is to provide a subset of cross-platform functionality suitable for building network applications likeweb 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-basedlayout 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 ofuser interface. It is an application ofXML that defines various user interface elements, mostlywidgets, control elements, templates, etc. It is similar in many ways toHTML.
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 likeextensions and themes into Mozilla applications in form of installation archives known asXPI.