Mozilla application framework: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
mNo edit summary
 
(26 intermediate revisions by 24 users not shown)
Line 1: Line 1:
{{Inline citations|date=April 2016}}{{Portal|Free and open-source software}}
{{Portal|Free software|Free Software Portal Logo.svg}}
The '''Mozilla application framework''' is a collection of [[cross-platform]] [[software componentry|software component]]s that make up the [[Mozilla]] [[application software|application]]s. 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 best referred to as the Mozilla application framework.
The '''Mozilla application framework''' is a collection of [[cross-platform]] [[software componentry|software component]]s that make up the [[Mozilla]] [[application software|application]]s. 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 framework]]s like [[GTK+]], [[Qt (toolkit)|Qt]] and [[wxWidgets]], the intent is to provide a subset of cross-platform functionality suitable for building network applications like [[web browser]]s, leveraging the cross-platform functionality already built into the Gecko layout engine.
While similar to generic cross-platform [[application framework]]s like [[GTK+]], [[Qt (toolkit)|Qt]] and [[wxWidgets]], the intent is to provide a subset of cross-platform functionality suitable for building network applications like [[web browser]]s, leveraging the cross-platform functionality already built into the Gecko layout engine.
Line 6: Line 6:
The following are the various components of the framework:
The following are the various components of the framework:


; Gecko : [[Gecko (layout engine)|Gecko]] is a standard-based [[layout engine]] designed for performance and portability.
; Gecko : [[Gecko (layout engine)|Gecko]] is a standards-based [[Browser engine|layout engine]] designed for performance and portability.
; Necko : Necko provides an extensible API for several layers of networking from transport to presentation layers.
; 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 [[GUI widget|widgets]], control elements, template, etc. It is similar in many ways to [[HTML]].
; XUL : [[XUL]] is the basis of [[user interface]]. It is an application of [[XML]] that defines various user interface elements, mostly [[GUI widget|widgets]], control elements, templates, etc. It is similar in many ways to [[HTML]].
; XBL : [[XBL]] allows one to define his/her own widget for use in XUL.
; 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
; 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]].
; XPConnect : [[XPConnect]] is the binding between XPCOM and [[JavaScript]].
; XPInstall : [[XPInstall]] is a technology for installing small packages like [[Add-on (Mozilla)|extension]]s and themes into Mozilla applications in form of installation archives known as [[XPI]].
; XPInstall : [[XPInstall]] is a technology for installing small packages like [[Add-on (Mozilla)|extension]]s and themes into Mozilla applications in form of installation archives known as [[XPI]].
; Web services : Mozilla includes built-in support for popular [[web service]]s standards [[XML-RPC]], [[SOAP]] (dropped since Gran Paradiso Alpha 7<ref>[https://bugzilla.mozilla.org/show_bug.cgi?id=332174 Bug 332174 Drop SOAP support]</ref>), and [[Web Services Description Language|WSDL]] as well as a simple [[XMLHttpRequest]] object similar to the one in [[Internet Explorer]].
; Web services : Mozilla includes built-in support for popular [[web service]]s standards, specifically; [[XML-RPC]], [[SOAP]] (dropped since Gran Paradiso Alpha 7<ref>{{Cite web|url=https://bugzilla.mozilla.org/show_bug.cgi?id=332174|title=Bug 332174 - Drop SOAP support|date=August 11, 2008|website=Bugzilla@Mozilla|access-date=April 15, 2016}}</ref>), and [[Web Services Description Language|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 [[Document Type Definition|DTD]], [[Resource Description Framework|RDF]], [[XSL Transformations|XSLT]]/[[XPath]], [[MathML]], [[Scalable Vector Graphics|SVG]], [[JavaScript]], [[SQL]], [[Lightweight Directory Access Protocol|LDAP]], etc.
; Others : The framework supports a number of open or common standards, including [[Document Type Definition|DTD]], [[Resource Description Framework|RDF]], [[XSL Transformations|XSLT]]/[[XPath]], [[MathML]], [[Scalable Vector Graphics|SVG]], [[JavaScript]], [[SQL]], [[Lightweight Directory Access Protocol|LDAP]], etc.


==Applications that use the framework==
==Applications that use the framework==
{{Unreferenced section|date=November 2009}}
*[[Netscape Navigator 9]] web browser
*[[Netscape Navigator 9]] web browser
*[[Mozilla Firefox]] web browser
*[[Mozilla Firefox]] web browser
Line 24: Line 25:
*[[Mozilla Thunderbird]] email client
*[[Mozilla Thunderbird]] email client
*[[ChatZilla]] IRC client
*[[ChatZilla]] IRC client
*[[Nvu]] [[WYSIWYG]] web authoring
*[[KompoZer]] [[WYSIWYG]] web authoring
*[[Mozilla Sunbird]] calendar
*[[Mozilla Sunbird]] calendar
*[[ActiveState Komodo]] IDE
*[[Komodo IDE]] and [[Komodo Edit]] since version 5 of both
*[[Songbird (software)|Songbird]] media player
*[[Songbird (software)|Songbird]] media player
*Former [[Joost]] [[IPTV]] client
*Former [[Joost]] [[IPTV]] client
*[[Celtx]] [[screenplay]] writing application
*[[Celtx]] [[screenplay]] writing application
*[[Miro (software)|Miro]] internet TV application
*[[Miro (software)|Miro]] internet TV application
*[[Boxee]] media center software
*[[Instantbird]] instant messenger
*[[Instantbird]] instant messaging client

==See also==
*[[XULRunner]]
*[[Chromium Embedded Framework]] (CEF)


==References==
==References==
{{reflist}}
<references/>


* Syd Logan: <cite>Cross-Platform Development in C++: Building Mac OS X, Linux, and Windows Applications</cite>, Addison-Wesley, 2007. ISBN 032124642X
* Syd Logan: <cite>Cross-Platform Development in C++: Building Mac OS X, Linux, and Windows Applications</cite>, Addison-Wesley, 2007. {{ISBN|0-321-24642-X}}


==External links==
==External links==
*[http://developer.mozilla.org/en/docs/Mozilla_Application_Framework_in_Detail The Mozilla Application Framework in Detail]
*[https://developer.mozilla.org/en/docs/Mozilla_Application_Framework_in_Detail The Mozilla Application Framework in Detail]
*[http://books.mozdev.org/html/mozilla-chp-1.html Mozilla as Platform]
*[http://books.mozdev.org/html/mozilla-chp-1.html Mozilla as Platform]
*[http://www.informit.com/store/product.aspx?isbn=0131423436 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)
*[http://www.informit.com/store/product.aspx?isbn=0131423436 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)
Line 46: Line 52:
{{Mozilla projects}}
{{Mozilla projects}}


{{DEFAULTSORT:Mozilla Application Framework}}
[[Category:Mozilla]]
[[Category:Application programming interfaces]]
[[Category:Application programming interfaces]]
[[Category:Mozilla]]

[[Category:Software that uses XUL]]
[[fr:Plateforme Mozilla]]
[[ko:모질라 어플리케이션 프레임워크]]
[[ru:Mozilla application framework]]

Latest revision as of 06:36, 10 May 2024

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[1]), 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[edit]

See also[edit]

References[edit]

  1. ^ "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

External links[edit]