[GOTO 95 logo]

[ Home | Weather | Wiki | RSS | HN | xkcd ] [ Search | Settings | About ]

Browser engine

[ Related articles | Random article | Open in Wikipedia ]

Not to be confused with JavaScript engine.

A browser engine (also known as a layout engine or rendering engine) is a core software component of every major web browser. The primary job of a browser engine is to transform HTML documents and other resources of a web page into an interactive visual representation on a user's device.

Table of contents
  1. Name and scope
  2. Layout and rendering
  3. Notable engines
  4. See also

Name and scope

A browser engine is not a stand-alone computer program but a critical piece of a more extensive program, such as a web browser, from which the term is derived. The word "engine" is an analogy to the engine of a car.

Besides "browser engine", two other terms are in everyday use regarding related concepts: "layout engine" and "rendering engine". In theory, layout and rendering (or "painting") could be handled by different engines. In practice, however, they are tightly coupled and rarely considered separately.

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

Executing JavaScript (JS) code is a separate matter, however, as every significant web browser uses a dedicated engine for this. The JS language was initially created for use in browsers, but it is now used elsewhere, too, so the implementation of JS engines is decoupled from browser engines. The two engines work in concert via the shared DOM data structure in a web browser.

Browser engines are used in other types of programs besides web browsers. Email clients need them to display HTML email. The Electron framework, which is powered by the two engines of the Google Chromium browser, has been used to create many applications.

Layout and rendering

The layout of a web page is typically specified by Cascading Style Sheets (CSS). Each style sheet is a series of rules which the browser engine interprets. For example, some rules specify typography details, such as font, color, and text size. The engine combines all relevant CSS rules to calculate precise graphical coordinates for the visual representation it will paint on the screen.

Some engines may begin rendering before a page's resources are downloaded. This can result in visual changes as more data is received, such as gradually filling in images or a flash of unstyled content.

Notable engines

Further information: Comparison of browser engines Timeline

Only the duration of active development is shown, which is when relevant new Web standards continue to be added to the engine.

See also

Search Wikipedia

Wikipedia is available under the Creative Commons Attribution-ShareAlike License 3.0.
These pages best viewed with Netscape Navigator 1.1 or later.
Privacy policy and personal data management.

[W3 Validator] [Netscape Now] [FREE Internet Explorer]