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 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
 * 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, specifically; XML-RPC, SOAP (dropped since Gran Paradiso Alpha 7 ), 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

 * Netscape Navigator 9 web browser
 * Mozilla Firefox web browser
 * Flock web browser
 * Wine compatibility layer (Gecko is used in the built-in web browser component)
 * SeaMonkey Internet suite
 * Mozilla Thunderbird email client
 * ChatZilla IRC client
 * KompoZer WYSIWYG web authoring
 * Mozilla Sunbird calendar
 * Komodo IDE and Komodo Edit since version 5 of both
 * Songbird media player
 * Former Joost IPTV client
 * Celtx screenplay writing application
 * Miro internet TV application
 * Boxee media center software
 * Instantbird instant messaging client