Web browser engine
A web browser engine is a computer program that renders web pages. It is not a stand-alone program but a core component of larger programs, primarily web browsers.
Rendering is the process of transforming an HTML document and its associated resources, like images and style sheets, into a visual representation on an electronic display.
The term engine is an analogy to the engine of a car. Just as a car cannot run without its engine, a web browser cannot display web pages without its rendering engine. Then there is another aspect: just as different types of vehicles can be manufactured with the same engine, other types of programs can incorporate a browser's rendering engine, e.g. an email client that renders HTML email.
Contents
Name and scope
Three different terms are used by browser developers for this type of engine: layout engine,[1] rendering engine,[2] layout and rendering engine.[3]
To complicate matters, every major browser actually uses two different engines: the rendering engine plus a JavaScript engine to execute JavaScript (JS). Thus, to properly render a page and execute its scripts, the two engines must work in concert, which is achieved via the Document Object Model.
There are competing engines in the browser market. For example, Google Chrome has the Blink engine for rendering and the V8 engine for JS, whereas Firefox has Gecko for rendering and SpiderMonkey for JS.
Rendering details
The spatial layout of a web page on an electronic display is typically stipulated by Cascading Style Sheets (CSS). This includes the formatting of text with different fonts. Using the page's CSS rules, the layout engine calculates the precise graphical coordinates and colors to display.[2]
Some engines may begin rendering before all of a page's resources are downloaded. This can result in visual changes as more data is received, such as images being gradually filled in or a flash of unstyled content.
Notable engines
Trident is the layout engine of Internet Explorer, also used by Microsoft Outlook and other Windows applications. Microsoft now uses the newer EdgeHTML engine in its Edge browser.
Gecko is the Mozilla project's layout engine, used by the Firefox browser, the Thunderbird email client, and the SeaMonkey internet suite. Goanna is a fork of Gecko used by the Pale Moon browser.
KDE created the KHTML engine for use in its Konqueror browser. Apple forked KHTML to make the WebKit engine for its Safari browser. Google originally used WebKit for its Chrome browser but now uses its own fork called Blink. The Opera browser also uses Blink; previously, it used its own Presto engine.
Timeline

See also
References
- ^ "Gecko". Mozilla. Retrieved 2018-04-21.
- ^ a b "Behind the scenes of modern web browsers". Tali Garsiel. Retrieved 2018-04-21.
- ^ "Introducing Goanna". M.C. Straver. 2015-06-22. Retrieved 2018-04-21.
- ^ Wikimedia Traffic Analysis Report - Browsers e.a.: Monthly requests or daily averages, for period: 1 Feb 2014 - 28 Feb 2014, Wikimedia