Mozilla application framework

Last updated

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.

Contents

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 (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

See also

Related Research Articles

K-Meleon Web browser

K-Meleon is an open-source web browser for Microsoft Windows. Originally based on the same Gecko layout engine as Mozilla Firefox and SeaMonkey, K-Meleon's design goal is to provide a fast and reliable web browser while providing a highly customizable interface and using system resources efficiently. Beginning with K-Meleon 76.2G, builds of the browser have utilized the Goanna layout engine instead of the Gecko engine. The browser is released under the GNU General Public License.

Gecko (software) Free HTML layout engine

Gecko is a browser engine developed by Mozilla. It is used in the Firefox browser, the Thunderbird email client, and many other projects.

Cross Platform Component Object Model (XPCOM) is a cross-platform component model from Mozilla. It is similar to Microsoft Component Object Model (COM) and Common Object Request Broker Architecture (CORBA). It features multiple language bindings and interface description language (IDL) descriptions; thus programmers can plug their custom functions into the framework and connect it with other components.

In computing, cross-platform software is computer software that is implemented on multiple computing platforms. Cross-platform software may be divided into two types; one requires individual building or compilation for each platform that it supports, and the other one can be directly run on any platform without special preparation, e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms.

XUL, which stands for XML User Interface Language, is a user interface markup language developed by Mozilla. XUL is an XML dialect for writing graphical user interfaces, which allowed Mozilla developers to write user interface elements in a similar manner to writing web pages. XBL applications rely on Mozilla codebase ; the most prominent example is the Firefox web browser.

XBL is an XML-based markup language for altering the behavior of XUL widgets. It was devised at Netscape in the late 1990s as an extension of XUL and existed in Firefox web browser codebase. Firefox deprecated XBL in 2017 and completed the process of removing it in 2019. However, the UXP fork of the codebase intends to continue supporting XBL indefinitely.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

Netscape Plugin Application Programming Interface (NPAPI) is an application programming interface (API) that allows browser plugins to be developed. It was first developed for Netscape browsers, starting in 1995 with Netscape Navigator 2.0, but was subsequently adopted by other browsers. With the advent of HTML5, all major web browsers have removed support for 3rd party NPAPI plugins for security reasons.

Echo is a web application framework created by the company NextApp. The latest iteration, Echo3, allows writing applications in either server-side Java or client-side JavaScript. Server-side applications do not require developer knowledge of HTML, HTTP, or JavaScript. Client-side JavaScript-based applications do not require a server, but can communicate with one via AJAX.

qooxdoo

qooxdoo is an open-source Ajax web application framework. It is an LGPL- and/or EPL-licensed client-side and server-agnostic solution, and includes support for professional JavaScript development, a graphical user interface (GUI) toolkit and high-level client-server communication.

ItsNat Natural AJAX, is an open-source Java component-based Ajax framework.

MicroB

MicroB was a mobile web browser developed by Nokia for use in smartphones and mobile devices that run the Maemo operating system. The browser is Mozilla-based and uses the Gecko layout engine.

Site-specific browser

A site-specific browser (SSB) is a software application that is dedicated to accessing pages from a single source (site) on a computer network such as the Internet or a private intranet. SSBs typically simplify the more complex functions of a web browser by excluding the menus, toolbars and browser chrome associated with functions that are external to the workings of a single site. These applications are typically started by a desktop icon which is usually a favicon.

ZK is an open-source Ajax Web application framework, written in Java, that enables creation of graphical user interfaces for Web applications with little required programming knowledge.

Mozilla Free and open-source software community, developer of Firefox and Thunderbird

Mozilla is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, spreads and supports Mozilla products, thereby promoting exclusively free software and open standards, with only minor exceptions. The community is supported institutionally by the not-for-profit Mozilla Foundation and its tax-paying subsidiary, the Mozilla Corporation.

References

  1. "Bug 332174 - Drop SOAP support". Bugzilla@Mozilla. August 11, 2008. Retrieved April 15, 2016.