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 is a standard-based layout engine designed for performance and portability.
- Necko provides an extensible API for several layers of networking from transport to presentation layers.
- 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 allows one to define their own widget for use in XUL.
- 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.
- Web services
- Mozilla includes built-in support for popular web services standards 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.
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
- "Bug 332174 - Drop SOAP support". Bugzilla@Mozilla. August 11, 2008. Retrieved April 15, 2016.
- Syd Logan: Cross-Platform Development in C++: Building Mac OS X, Linux, and Windows Applications, Addison-Wesley, 2007. ISBN 0-321-24642-X
- The Mozilla Application Framework in Detail
- Mozilla as Platform
- 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