Gecko (layout engine)

related topics
{system, computer, user}
{math, number, function}
{company, market, business}
{car, race, vehicle}
{work, book, publish}
{style, bgcolor, rowspan}
{group, member, jewish}

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

It is designed to support open Internet standards, and is used by different applications to display web pages and, in some cases, an application's user interface itself (by rendering XUL). Gecko offers a rich programming API that makes it suitable for a wide variety of roles in Internet-enabled applications, such as web browsers, content presentation, and client/server.[1]

Gecko is written in C++ and is cross-platform, and runs on various operating systems including BSDs, Linux, Mac OS X, Solaris, OS/2, AIX, OpenVMS, and Microsoft Windows. Its development is now overseen by the Mozilla Foundation and is licensed by a tri-license of the Mozilla Public License (MPL), GNU General Public License (GPL) and GNU Lesser General Public License (LGPL).

Gecko is the second most-popular layout engine on the World Wide Web, after Trident (used by Internet Explorer for Windows since version 4), and followed by WebKit (used by Safari & Google Chrome) and Presto (used by Opera).



Development of the layout engine now known as Gecko began at Netscape in 1997, following the company's purchase of DigitalStyle. The existing Netscape rendering engine, originally written for Netscape Navigator 1.0 and upgraded through the years, was widely considered to be inferior to the one used in Microsoft Internet Explorer. It was slow, did not comply well with W3C standards, had limited support for dynamic HTML and lacked features such as incremental reflow (when the layout engine rearranges elements on the screen as new data is downloaded and added to the page). The new layout engine was developed in parallel with the old, with the intention being to integrate it into Netscape Communicator when it was mature and stable. At least one more major revision of Netscape was expected to be released with the old layout engine before the switch.

Full article ▸

related documents
Multitier architecture
Node-to-node data transfer
Beowulf (computing)
Cyrix 6x86
Routing table
Wine (software)
Plug-in (computing)
List of ad-hoc routing protocols
Kerberos (protocol)
Audio Interchange File Format
Web server
GNU Debugger
IEEE 802.3
Jupiter Ace
Microsoft Office
IBM 7090
Motorola 68040
Terminal emulator
Zeta Instrument Processor Interface
Motorola 68060
Signalling (telecommunications)
Guru Meditation
Digital signal
Kermit (protocol)