SUPPORT THE WORK

GetWiki

Gecko (software)

ARTICLE SUBJECTS
aesthetics  →
being  →
complexity  →
database  →
enterprise  →
ethics  →
fiction  →
history  →
internet  →
knowledge  →
language  →
licensing  →
linux  →
logic  →
method  →
news  →
perception  →
philosophy  →
policy  →
purpose  →
religion  →
science  →
sociology  →
software  →
truth  →
unix  →
wiki  →
ARTICLE TYPES
essay  →
feed  →
help  →
system  →
wiki  →
ARTICLE ORIGINS
critical  →
discussion  →
forked  →
imported  →
original  →
Gecko (software)
[ temporary import ]
please note:
- the content below is remote from Wikipedia
- it has been imported raw for GetWiki








factoids
weblink}}}}Gecko is a browser engine developed by Mozilla. It is used in the Firefox browser, the Thunderbird email client, and many other projects.Gecko 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.WEB,weblink Embedding Mozilla, Mozilla.org, 2012-10-25, 2012-10-31, Gecko is written in C++ and JavaScript,WEB,weblink Simple Firefox for Android build, Gecko is implemented using C++ and JavaScript., JOURNAL, Bergstrom, etal, Lars, Engineering the Servo Web Browser Engine using Rust, Proceedings of the International Conference on Software Engineering, May 2016,weblink and, since 2016, additionally in Rustweblink" title="groups.google.com/forum/m/#!msg/mozilla.dev.platform/Gzwh1IbxvHE/7RlO21I6DwAweblink">weblink It is free and open-source software subject to the terms of the Mozilla Public License version 2.WEB,weblink MPL 2 Upgrade, 2012-08-18, Mozilla officially supports its use on Android, Linux, macOS, and Windowsweblink

History

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 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.After the launch of the Mozilla project in early 1998, the new layout engine code was released under an open-source license. Originally unveiled as Raptor, the name had to be changed to NGLayout (next generation layout) due to trademark problems. Netscape later rebranded NGLayout as Gecko. While Mozilla Organization (the forerunner of the Mozilla Foundation) initially continued to use the NGLayout name (Gecko was a Netscape trademark),WEB,weblink nglayout project: identity crisis, Mozilla.org, 2012-10-31, yes,weblink" title="web.archive.org/web/20110629154746weblink">weblink 2011-06-29, eventually the Gecko branding won out.In October 1998, Netscape announced that its next browser would use Gecko (which was still called NGLayout at the time) rather than the old layout engine, requiring large parts of the application to be rewritten. While this decision was popular with web standards advocates, it was largely unpopular with Netscape developers, who were unhappy with the six months given for the rewrite. It also meant that most of the work done for Netscape Communicator 5.0 (including development on the Mariner improvements to the old layout engine) had to be abandoned. Netscape 6, the first Netscape release to incorporate Gecko, was released in November 2000 (the name Netscape 5 was never used).As Gecko development continued, other applications and embedders began to make use of it. America Online, by this time Netscape's parent company, eventually adopted it for use in CompuServe 7.0 and AOL for Mac OS X (these products had previously embedded Internet Explorer). However, with the exception of a few betas, Gecko was never used in the main Microsoft Windows AOL client.On July 15, 2003, AOL laid off the remaining Gecko developers and the Mozilla Foundation (formed on the same day) became the main steward of Gecko development. Today, Gecko is developed by employees of the Mozilla Corporation, employees of companies that contribute to the Mozilla project, and volunteers.

Standards support

{{Firefox TOC}}From the outset, Gecko was designed to support open Internet standards. Some of the standards Gecko supports include: Gecko also partially supports SVG 1.1.WEB,weblink Mozilla SVG Status, Mozilla.org, 2012-08-25, 2012-10-31, The SVG font, color profile, animation, view, and cursor modules are yet to be implemented and the filter and text modules are only partially implemented. The extensibility module is also implemented but is currently disabled.In order to support web pages designed for legacy versions of Netscape and Internet Explorer, Gecko supports DOCTYPE switching. Documents with a modern DOCTYPE are rendered in standards compliance mode, which follows the W3C standards strictly. Documents that have no DOCTYPE or an older DOCTYPE are rendered in quirks mode, which emulates some of the non-standard oddities of Netscape Communicator 4.x; however, some of the 4.x features (such as layers) are not supported.Gecko also has limited support for some non-standard Internet Explorer features, such as the marquee element and the document.all property (though pages explicitly testing for document.all will be told it is not supported).WEB,weblink Mozilla Adds Undetectable document.all Support, Part of New Novell Linux Distribution?, Developer.mozilla.org, 2004-07-23, 2018-02-07,

Usage

Gecko is primarily used in web browsers, the earliest being Netscape 6 and Mozilla Suite (later renamed SeaMonkey). It is also used in other Mozilla web browser derivatives such as Firefox and Firefox for mobile and the implementation of the Internet Explorer-clone that is part of Wine.WEB,weblink IE Uses Gecko Under Wine, Wine Wiki, 2009-09-14, Mozilla also uses it in their Thunderbird email-client.Other web browsers using Gecko include GNU IceCat,WEB,weblink Gecko, sdubois, 24 June 2010, Free Software Foundation, 23 May 2019, Waterfox, K-Meleon, Lunascape, Portable Firefox, Conkeror, Classilla, TenFourFox.Other products using Gecko include Nightingale, Instantbird and Google's picture-organization software Picasa (for Linux).WEB,weblink Picasa 3.0 for Linux, Google, 2008-12-28, yes,weblink" title="web.archive.org/web/20090107022711weblink">weblink 2009-01-07, Gecko is also used by Sugar for the OLPC XO-1 computer.NEWS,weblink One Laptop Per Child readies 'Sugar' interface, Martens, China, IDG News Service, 2007-01-03, 2007-12-28, yes,weblink" title="web.archive.org/web/20080118115757weblink">weblink 2008-01-18, Gecko is used as a complete implementation of the XUL (XML User Interface Language). Gecko currently defines the XUL specification.

Past users

Products that have historically used Gecko include Pale Moon (now currently using Goanna), Songbird, Epiphany (now known as GNOME Web) and GNOME DevHelp both have replaced Gecko with WebKitGTK, Sunbird (calendar), and other web browsers including Swiftfox, Flock, Galeon, Camino, Minimo, Beonex Communicator, Kazehakase, and MicroB.

Proprietary dependency

On Windows and other platforms, Gecko depends on proprietary compilersweblink Thus, FOSS distributions of Linux can not include the Gecko package used in the Windows compatibility layer Wineweblink {{webarchive |url=https://web.archive.org/web/20120611003752weblink |date=June 11, 2012 }}After Gecko 2.0, the version number was bumped to 5.0 to match Firefox 5, and from then on has been kept in sync with the major version number for both Firefox and Thunderbird,WEB, Gecko versions and application versions,weblink Mozilla Developer Network, MDN, 2013-11-18, to reflect the fact that it is no longer a separate component.WEB, Not much in new Thunderbird 5, but roadmap looks promising,weblink Ars Technica, 2018-02-07,

Bloat

In the Netscape era, a combination of poor technical and management decisions resulted in Gecko software bloat.WEB,weblink Ars Technica sits down with Scott Collins from Mozilla.org, Jorge O. Castro, Ars Technica, 2004-06-15, 2017-02-16, WEB,weblinkweblink" title="web.archive.org/web/20090728082253weblink">weblink Thursday 2003-01-09, David Baron's weblog, David Baron, self-published, 2003-01-09, 2009-07-28, 2017-02-16, yes, Thus in 2001 Apple chose to fork KHTML, not Gecko, to create the WebKit engine for its Safari browser.WEB,weblinkweblink" title="web.archive.org/web/20121025015655weblink">weblink Apple snub stings Mozilla, Paul Festa, CNET Networks, 2003-01-14, 2012-10-25, 2017-02-16, Paul Festa, yes, However, by 2008 Mozilla had addressed some of the bloat problems, resulting in big performance improvements for Gecko.WEB,weblink Ryan Paul, Why Mozilla is committed to Gecko as WebKit popularity grows, 2008-09-09, 2017-02-16,

Future

In October 2016 Mozilla announced Quantum, an ongoing project encompassing several software development efforts to "build the next-generation web engine for Firefox users". It includes numerous improvements to Gecko, taken from the experimental Servo project.WEB,weblink Quantum, Mozilla Wiki, 2017-04-20, NEWS,weblink Mozilla Announces Quantum, a New Browser Engine for Firefox, Cimpanu, Catalin, softpedia, 2016-11-07, Firefox 57, also known as "Firefox Quantum", first shipping in November 2017, is the initial version with major components from the Quantum/Servo projects enabled. These include increased performance in the CSS and GPU rendering components. Additional components will be merged from Servo to Gecko incrementally in future versions.

Quantum

Quantum is a Mozilla project encompassing several software development efforts to "build the next-generation web engine for Firefox users". It includes numerous improvements to the Gecko, largely incorporated from the experimental Servo project. Quantum also includes refinements to the user interface and interactions.WEB,weblink Quantum, Mozilla Wiki, 2017-04-20, NEWS,weblink Mozilla Announces Quantum, a New Browser Engine for Firefox, Cimpanu, Catalin, softpedia, 2017-02-17, Firefox 57, released in November 2017, is the initial version with a Servo component enabled. Mozilla dubs this and several planned future releases "Firefox Quantum".WEB,weblink Firefox 57.0, See All New Features, Updates and Fixes, Mozilla, 2018-10-30, WEB,weblink Introducing the New Firefox: Firefox Quantum – The Mozilla Blog, The Mozilla Blog, 2018-10-30,

Background

In 2013, Mozilla began the experimental Servo project, which is an engine designed from scratch with the goals of improving concurrency and parallelism while also reducing memory safety vulnerabilities. An important factor is writing Servo in the Rust programming language, also created by Mozilla, which is designed to generate compiled code with better memory safety, concurrency, and parallelism than compiled C++ code.As of April 2016, Servo needed at least several years of development to become a full-featured browser engine.WEB,weblink Servo remaining work, GitHub, 2017-02-17, Thus the decision to start the Quantum project to bring stable portions of Servo into Firefox.

Component

The Quantum project is composed of several sub-projects.
CSS : Servo's parallel style sheet system integrated into Gecko. Benchmarks suggest that performance scales linearly with number of CPU cores.WEB,weblink The Changelog, The Changelog, 2017-03-28, This was released in Firefox 57.
Render : Servo's rendering architecture, called WebRender, integrated into Gecko. WebRender replaces the immediate mode drawing model with a retained mode model that is more easily accelerated by the GPU by taking advantage of CSS/DOM's similarity to a scene graph. Worst-case scenario rendering in testing exceeds 60 frames per second.WEB,weblink Bay Area Rust Meetup February 2016, Air Mozilla, 2017-03-28,
Compositor : Gecko's existing compositor moved to its own process, isolating browser tabs from graphics driver related crashes. Since compositor crashes will not bring down the browser content process, the compositor process can be restarted transparently without losing user data. This was released in Firefox 53.WEB,weblink Firefox faster and more stable with the first big bytes of Project Quantum, simpler with compact themes and permissions redesign, Mozilla Blog, 2017-04-27,
DOM : Loosely inspired by Servo's Constellation architectureWEB,weblink Servo Architecture, Youtube, 2017-03-28, and Opera's Presto engine,WEB,weblink Mozilla's Quantum Project, Bill McCloskey's Blog, 2017-03-28, 2016-10-27, Quantum DOM uses cooperatively scheduled threads within the DOM to increase responsiveness without increasing the number of processes and, thus, memory usage.
Flow : An umbrella for user visible performance improvements driven by a team that works across Gecko components. Currently focused on real user performance improvements on major webapps, primarily G Suite and Facebook.WEB,weblink Quantum Flow, Mozilla Wiki, 2017-03-28,
Photon : A UI refresh of the entire application, with a strong focus on improving UI performance. Treated as a sister project to Quantum Flow.WEB,weblink Photon Engineering Newsletter #1, dolske, 2017-05-18, Dolske's blog, 2017-07-04, This was released in Firefox 57.
Network : Improve the performance of Necko, Gecko's networking layer, by moving more network activity off the main thread, context dependent prioritization of networking streams, and racing the cache layer with the network.WEB,weblink TPE Necko/Projects - MozillaWiki, wiki.mozilla.org, 2017-07-04, This feature was released in Firefox 59.WEB,weblink Firefox 59 Release Notes, www.mozilla.org, 2019-01-16,

See also

References

{{Reflist|30em}}

External links

{{Mozilla projects}}{{Netscape}}{{Web browser engines}}{{Web browsers|desktop}}

- content above as imported from Wikipedia
- "Gecko (software)" does not exist on GetWiki (yet)
- time: 1:59pm EDT - Sat, Aug 24 2019
[ this remote article is provided by Wikipedia ]
LATEST EDITS [ see all ]
GETWIKI 09 JUL 2019
Eastern Philosophy
History of Philosophy
GETWIKI 09 MAY 2016
GETWIKI 18 OCT 2015
M.R.M. Parrott
Biographies
GETWIKI 20 AUG 2014
GETWIKI 19 AUG 2014
CONNECT