Article, Browser

What is a Browser Engine?

3 min read

The browser engine (also known as layout engine or rendering engine) is the core software component of every major web browser.
The main job of the browser engine is to convert HTML documents and other sources of web pages into interactive visual representations on the user’s device.

Name and Scope

A browser engine is not a stand-alone computer program but an essential part of a larger program, such as a web browser, from which the term is derived.
(The word “engine” is analogous to a car engine.)

Besides “browser engine”, two other commonly used terms are related to related concepts: “layout engine” and “rendering engine”.
[1] [2] [3] In theory, layout and rendering (or “painting”) can be handled by separate engines.
In practice, however, they are closely paired and rarely considered separately.

In addition to layout and rendering, the browser engine enforces security policies between documents, handles navigation through hyperlinks and data submitted through forms, and implements the Document Object Model (DOM) data structures exposed to page scripts.

Executing JavaScript (JS) code is a separate issue, however, as each major web browser uses a dedicated engine for this.
The JS language was originally created for use in browsers, but it is now used elsewhere as well, so the JS engine implementation is separated from the browser engine.
In the web browser, the two engines work together through a shared DOM data structure.

Browser engines are used in other types of programs besides web browsers.
Email clients need them to display HTML emails.
The Electron framework, which is supported by Google’s two Chrome browser engines, has been used to create many applications.

Layout and Rendering

The layout of web pages is usually determined by Cascading Style Sheets (CSS).
Each style sheet is a set of rules that the browser engine interprets.
For example, some rules specify typographic details, such as font, color, and text size.
The engine combines all relevant CSS rules to calculate the exact graphical coordinates for the visual representation it will paint on the screen.
[1]

Some engines may start rendering before all page resources are downloaded.
This can result in visual changes as more data is received, such as gradually filled images or glimpses of styleless content.

Browser Engine Type

Since the Web platform is a set of open standards, there are multiple browser engine implementations.

Gecko is Mozilla’s browser engine, used in the Firefox web browser, Thunderbird email client, and SeaMonkey internet package.
[2] Goanna is an offshoot of Gecko used in the Pale Moon browser.
[3]

Apple created the WebKit engine for its Safari browser by sharing the KHTML engine from the KDE project.
[5]

Google originally used WebKit for its Chrome browser, but eventually forked it to create the Blink engine.
[6] All Chromium-based browsers use Blink, as do applications built with CEF, Electron, or any other framework that embeds Chromium.

Although Apple allows third-party browsers as alternatives to Safari on iOS devices, all browsers distributed through the App Store must use WebKit as their engine.
For example, Opera Mini for iOS uses WebKit, while all other Opera variants use Blink.
(Opera previously used its own Presto engine.)

Microsoft maintains its own EdgeHTML engine, which is the successor to its Trident engine.
However, EdgeHTML is now only used for Universal Windows Platform applications, as the Edge browser has been remade with the Blink engine.
[7] [8]

Source: wikipedia.org


Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

× Chat