MarketGecko (software)
Company Profile

Gecko (software)

Gecko is a browser engine developed by Mozilla. It is used in the Firefox browser, the Thunderbird email client, and in a discontinued state on AOL's Netscape 6, Netscape 7, Netscape Browser and Netscape Navigator 9; this is alongside many other projects.

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), 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. In the Netscape era, a combination of poor technical and management decisions resulted in Gecko software bloat. Thus in 2001 Apple chose to fork KHTML, not Gecko, to create the WebKit engine for its Safari browser. Quantum 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 included numerous improvements to Gecko, taken from the experimental Servo project. Firefox 57, also known as "Firefox Quantum", first shipped in November 2017 and was 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. is the initial version introduced GeckoView, with increased performance in median page loading. Firefox Reality was also built with GeckoView. Firefox for Android 79, also known as "Firefox Daylight", first shipping in August 2020, is the first stable release of that with major components powered by GeckoView engine. ==Standards support==
Standards support
Some of the standards Gecko supports include: • CSS Level 3 • DOMHTML5JavaScript (ECMAScript ES6 or superior, currently ECMAScript 2021 ES12), implemented in SpiderMonkeyMathMLRDFXForms (via an official extension) • XHTML 1.0 • XML 1.0 • XSLT and XPath, implemented in TransforMiiX • SVG ==Legacy IE non-standard support==
Legacy IE non-standard support
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). ==Usage==
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. Forks of Firefox that also make use of Gecko include LibreWolf, Zen Browser, GNU IceCat, Midori, Waterfox, Portable Firefox, and Floorp. Mozilla also uses it in their Thunderbird email-client. Other web browsers using Gecko include Lunascape and Sailfish Browser. Gecko is also used by the KaiOS mobile operating system, which is based on the discontinued Firefox OS. Past users Products that formerly used Gecko include Pale Moon and K-Meleon (both now using Goanna), Epiphany (now known as GNOME Web and using WebKitGTK), and GNOME DevHelp (now using WebKitGTK). Discontinued products that used Gecko include Swiftfox, Flock, Galeon, Camino, Minimo, Beonex Communicator, Kazehakase, Songbird, Sunbird (calendar), MicroB, Nightingale, Instantbird, Conkeror, Classilla, TenFourFox, and Picasa for Linux. Gecko was also used by Sugar for the OLPC XO-1 computer, before moving to WebKit in 2009. Proprietary dependency On Windows and other platforms, Gecko depends on proprietary compilers. ==Versioning==
Versioning
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, to reflect the fact that it is no longer a separate component. ==Quantum==
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 Gecko, largely incorporated from the experimental Servo project. Quantum also includes refinements to the user interface and interactions. Background In 2012, 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. Servo is written 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. hence the decision to start the Quantum project to bring stable portions of Servo into Firefox. Mozilla laid off all Servo developers in August 2020. Components The Quantum project is composed of several sub-projects. This was released in Firefox 57. Mozilla began enabling the new renderer for select hardware/OS combinations in Firefox 67. • 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. • DOM: Loosely inspired by Servo's Constellation architecture and Opera's Presto engine, Quantum DOM uses cooperatively scheduled threads within the DOM to increase responsiveness without increasing the number of processes and, thus, memory usage. The core of this shipped in Firefox 57. • Flow: An umbrella for user visible performance improvements driven by a team that works across Gecko components. Focused on real user performance improvements on major webapps, primarily G Suite (now called Google Workspace) and Facebook. This work completed and shipped for Firefox 57. • Photon: A UI refresh of the entire application, with a strong focus on improving UI performance. Treated as a sister project to Quantum Flow. This was released in Firefox 57. This feature was released in Firefox 59. == Azure ==
Azure
The Mozilla Azure project is a stateless low-level graphics abstraction API used in Firefox. The project has several objectives including: • more accurate Direct2D compatibility • optimized state interoperability • improved control over performance characteristics and bugs Azure will provide 2D hardware acceleration on top of 3D graphics backends. Firefox began using Azure instead of Cairo in 2012. It is written in C++ and used by Servo. The Azure name is an ode to the early Netscape founder James H. Clark and his earlier work at Silicon Graphics where workstations were often named after colors. ==References==
tickerdossier.comtickerdossier.substack.com