Mozilla application framework
Encyclopedia
The Mozilla application framework is a collection of cross-platform
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...

 software components that make up the Mozilla
Mozilla
Mozilla is a term used in a number of ways in relation to the Mozilla.org project and the Mozilla Foundation, their defunct commercial predecessor Netscape Communications Corporation, and their related application software....

 application
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...

s. It was originally known as XPFE, an abbreviation
Abbreviation
An abbreviation is a shortened form of a word or phrase. Usually, but not always, it consists of a letter or group of letters taken from the word or phrase...

 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.

While similar to generic cross-platform application framework
Application framework
In computer programming, an application framework consists of a software framework used by software developers to implement the standard structure of an application for a specific development environment ....

s like GTK+
GTK+
GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...

, Qt
Qt (toolkit)
Qt is a cross-platform application framework that is widely used for developing application software with a graphical user interface , and also used for developing non-GUI programs such as command-line tools and consoles for servers...

 and wxWidgets
WxWidgets
wxWidgets is a widget toolkit for creating graphical user interfaces for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no code changes...

, the intent is to provide a subset of cross-platform functionality suitable for building network applications like web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

s, leveraging the cross-platform functionality already built into the Gecko layout engine.

The following are the various components of the framework:

Gecko : Gecko
Gecko (layout engine)
Gecko is a free and open source layout engine used in many applications developed by Mozilla Foundation and the Mozilla Corporation , as well as in many other open source software projects....

 is a standard-based layout engine
Layout engine
A web browser engine, , is a software component that takes marked up content and formatting information and displays the formatted content on the screen. It "paints" on the content area of a window, which is displayed on a monitor or a printer...

 designed for performance and portability.
Necko : Necko provides an extensible API for several layers of networking from transport to presentation layers.
XUL : XUL
XUL
In computer programming, XUL , the XML User Interface Language, is an XML user interface markup language developed by the Mozilla project. XUL operates in Mozilla cross-platform applications such as Firefox...

 is the basis of user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...

. It is an application of XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 that defines various user interfaces elements, mostly widgets, control elements, template, etc. It is similar in many ways to HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

.
XBL : XBL
XBL
XBL is an XML-based markup language used to declare the behavior and look of XUL-widgets and XML elements.XBL was developed by the Mozilla project for use in the Mozilla Application Suite; the language is not currently described by any formal standard and is thus proprietary to Mozilla, with the...

 allows one to define his/her own widget for use in XUL.
XPCOM : XPCOM
XPCOM
XPCOM is a cross-platform component model from Mozilla. It is similar to Microsoft COM and CORBA. It has multiple language bindings and IDL descriptions so programmers can plug their custom functionality into the framework and connect it with other components.-The model:XPCOM is one of the main...

 is an object interface that allows interfacing between any programming language for which a binding has been developed
XPConnect : XPConnect
XPConnect
XPConnect is a technology which enables simple interoperation between XPCOM and JavaScript.-Object connection:XPConnect allows JavaScript objects to transparently access and manipulate XPCOM objects. It also enables JavaScript objects to present XPCOM compliant interfaces to be called by XPCOM...

 is the binding between XPCOM and JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

.
XPInstall : XPInstall
XPInstall
XPInstall is a technology used by the Mozilla Application Suite, SeaMonkey, Mozilla Firefox, Mozilla Thunderbird and other XUL-based applications for installing Mozilla extensions that add functionality to the main application....

 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 service
Web service
A Web service is a method of communication between two electronic devices over the web.The W3C defines a "Web service" as "a software system designed to support interoperable machine-to-machine interaction over a network". It has an interface described in a machine-processable format...

s standards XML-RPC
XML-RPC
XML-RPC is a remote procedure call protocol which uses XML to encode its calls and HTTP as a transport mechanism. "XML-RPC" also refers generically to the use of XML for remote procedure call, independently of the specific protocol...

, SOAP
SOAP
SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks...

 (dropped since Gran Paradiso Alpha 7), and WSDL
Web Services Description Language
The Web Services Description Language is an XML-based language that is used for describing the functionality offered by a Web service. A WSDL description of a web service provides a machine-readable description of how the service can be called, what parameters it expects and what data structures...

 as well as a simple XMLHttpRequest
XMLHttpRequest
XMLHttpRequest is an API available in web browser scripting languages such as JavaScript. It is used to send HTTP or HTTPS requests directly to a web server and load the server response data directly back into the script. The data might be received from the server as XML text or as plain text...

 object similar to the one in Internet Explorer
Internet Explorer
Windows Internet Explorer is a series of graphical web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems, starting in 1995. It was first released as part of the add-on package Plus! for Windows 95 that year...

.
Others : The framework supports a number of open or common standards, including DTD
Document Type Definition
Document Type Definition is a set of markup declarations that define a document type for SGML-family markup languages...

, RDF
Resource Description Framework
The Resource Description Framework is a family of World Wide Web Consortium specifications originally designed as a metadata data model...

, XSLT
XSL Transformations
XSLT is a declarative, XML-based language used for the transformation of XML documents. The original document is not changed; rather, a new document is created based on the content of an existing one. The new document may be serialized by the processor in standard XML syntax or in another format,...

/XPath
XPath
XPath is a language for selecting nodes from an XML document. In addition, XPath may be used to compute values from the content of an XML document...

, MathML
MathML
Mathematical Markup Language is an application of XML for describing mathematical notations and capturing both its structure and content. It aims at integrating mathematical formulae into World Wide Web pages and other documents...

, SVG
Scalable Vector Graphics
Scalable Vector Graphics is a family of specifications of an XML-based file format for describing two-dimensional vector graphics, both static and dynamic . The SVG specification is an open standard that has been under development by the World Wide Web Consortium since 1999.SVG images and their...

, JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

, SQL
SQL
SQL is a programming language designed for managing data in relational database management systems ....

, LDAP
Lightweight Directory Access Protocol
The Lightweight Directory Access Protocol is an application protocol for accessing and maintaining distributed directory information services over an Internet Protocol network...

, etc.

Applications that use the framework

  • Netscape Navigator 9
    Netscape Navigator 9
    Netscape Navigator 9 is a web browser produced by the Netscape Communications division of parent AOL, first announced on January 23, 2007. After AOL outsourced the development of Netscape Browser 8 to Mercurial Communications in 2004, Netscape Navigator 9 marked the first Netscape browser to be...

     web browser
  • Mozilla Firefox
    Mozilla Firefox
    Mozilla Firefox is a free and open source web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. , Firefox is the second most widely used browser, with approximately 25% of worldwide usage share of web browsers...

     web browser
  • Flock
    Flock (web browser)
    Flock was a web browser that specialized in providing social networking and Web 2.0 facilities built into its user interface.Earlier versions of Flock used the Gecko HTML rendering engine by Mozilla....

     web browser
  • Wine
    Wine (software)
    Wine is a free software application that aims to allow computer programs written for Microsoft Windows to run on Unix-like operating systems. Wine also provides a software library, known as Winelib, against which developers can compile Windows applications to help port them to Unix-like...

     compatibility layer (Gecko is used in the built-in web browser component)
  • SeaMonkey
    SeaMonkey
    SeaMonkey is a free and open source cross-platform Internet suite. It is the continuation of the former Mozilla Application Suite, based on the same source code...

     Internet suite
  • Mozilla Thunderbird
    Mozilla Thunderbird
    Mozilla Thunderbird is a free, open source, cross-platform e-mail and news client developed by the Mozilla Foundation. The project strategy is modeled after Mozilla Firefox, a project aimed at creating a web browser...

     email client
  • ChatZilla
    ChatZilla
    ChatZilla is an IRC client for Mozilla-based browsers such as Firefox, introduced in 2000. It is cross-platform open source software which has been noted for its consistent appearance across platforms, CSS appearance customization and scripting....

     IRC client
  • KompoZer
    KompoZer
    KompoZer is an open source WYSIWYG HTML editor based on a rewritten version of the now-discontinued Nvu editor. KompoZer is maintained as a community-driven fork and is a project on Sourceforge....

     WYSIWYG
    WYSIWYG
    WYSIWYG is an acronym for What You See Is What You Get. The term is used in computing to describe a system in which content displayed onscreen during editing appears in a form closely corresponding to its appearance when printed or displayed as a finished product...

     web authoring
  • Mozilla Sunbird
    Mozilla Sunbird
    Mozilla Sunbird is a free and open source, cross-platform calendar application that was developed by the Mozilla Foundation, Sun Microsystems and many volunteers...

     calendar
  • ActiveState Komodo
    ActiveState Komodo
    Komodo Edit is a highly regarded free text editor for dynamic programming languages. Introduced in January 2007, with the release of version 4.3, Komodo Edit is built on top of the Open Komodo project...

     IDE and ActiveState Komodo
    ActiveState Komodo
    Komodo Edit is a highly regarded free text editor for dynamic programming languages. Introduced in January 2007, with the release of version 4.3, Komodo Edit is built on top of the Open Komodo project...

     Edit since version 5 of both
  • Songbird
    Songbird (software)
    Songbird is a free and open source software audio player and web browser, with a stated mission "to incubate Songbird, the first Web player, to catalyze and champion a diverse, open Media Web."...

     media player
  • Former Joost
    Joost
    Joost is an Internet TV service, created by Niklas Zennström and Janus Friis . During 2007-8 Joost used peer-to-peer TV technology to distribute content to their Mozilla-based desktop player; in late 2008 this was migrated to use a Flash-based Web player instead.Joost began development in 2006...

     IPTV
    IPTV
    Internet Protocol television is a system through which television services are delivered using the Internet protocol suite over a packet-switched network such as the Internet, instead of being delivered through traditional terrestrial, satellite signal, and cable television formats.IPTV services...

     client
  • Celtx
    Celtx
    Celtx is free media pre-production software designed for creating and organizing media projects like screenplays, films, videos, stageplays, audio plays, documentaries, machinima, comics, games and podcasts....

     screenplay
    Screenplay
    A screenplay or script is a written work that is made especially for a film or television program. Screenplays can be original works or adaptations from existing pieces of writing. In them, the movement, actions, expression, and dialogues of the characters are also narrated...

     writing application
  • Miro internet TV application
  • Boxee
    BOXEE
    Boxee is a cross-platform freeware HTPC software application with a 10-foot user interface and social networking features designed for the living-room TV...

     media center software

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK