Mozilla application framework


The Mozilla application framework is a collection of cross-platform software components that make up the Mozilla applications. 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 standard-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 interfaces elements, mostly widgets, control elements, template, 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
; XPConnect : XPConnect is the binding between XPCOM and JavaScript.
; XPInstall : XPInstall is a technology for installing small packages like extensions and themes into Mozilla applications in form of installation archives known as XPI.
; Web services : Mozilla includes built-in support for popular web services standards XML-RPC, SOAP, and WSDL as well as a simple XMLHttpRequest object similar to the one in Internet Explorer.
; Others : The framework supports a number of open or common standards, including DTD, RDF, XSLT/XPath, MathML, SVG, JavaScript, SQL, LDAP, etc.

Applications that use the framework