Web browser engine

From Wikipedia, the free encyclopedia

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.

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

Browser usage on Wikipedia during February 2014
Google Chrome, Opera and other variants (Blink)
43.00%
Internet Explorer (Trident)
25.80%
Firefox and other variants (Gecko)
18.22%
Safari and other variants (WebKit)
5.90%
Opera (Presto)
2.31%
Others
4.77%
Non-mobile web browser usage for Wikimedia visitors during February 2014.[4]

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

  1. ^ "Gecko". Mozilla. Retrieved 2018-04-21. 
  2. ^ a b "Behind the scenes of modern web browsers". Tali Garsiel. Retrieved 2018-04-21. 
  3. ^ "Introducing Goanna". M.C. Straver. 2015-06-22. Retrieved 2018-04-21. 
  4. ^ Wikimedia Traffic Analysis Report - Browsers e.a.: Monthly requests or daily averages, for period: 1 Feb 2014 - 28 Feb 2014, Wikimedia 
Retrieved from "https://en.wikipedia.org/w/index.php?title=Web_browser_engine&oldid=840565264"
This content was retrieved from Wikipedia : http://en.wikipedia.org/wiki/Web_browser_engine
This page is based on the copyrighted Wikipedia article "Web browser engine"; it is used under the Creative Commons Attribution-ShareAlike 3.0 Unported License (CC-BY-SA). You may redistribute it, verbatim or modified, providing that you comply with the terms of the CC-BY-SA