Web browser engine

"Web engine" redirects here. For search engine, see Web search engine. For script engine, see JavaScript engine. For template engine, see Web template system. For rewrite engine, see URL redirection.

A web browser engine (sometimes called layout engine or rendering engine) is a program that renders marked up content (such as HTML, XML, image files, etc.) and formatting information (such as CSS, XSL, etc.).

A layout engine is typical component of web browsers, email clients, e-book readers, on-line help systems or other applications that require the displaying (and editing) of web content. Engines may wait for all data to be received before rendering a page, or may begin rendering before all data are received. This can result in pages changing as more data is received, such as images being filled in or a flash of unstyled content if rendering begins before formatting information is received.

Non-mobile web browser statistics on Wikipedia projects
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 as of February 2014.[1]

Examples

Web browser usage (as of 2012) on Wikipedia project servers

KDE's open-source KHTML engine is used in KDE's Konqueror web browser and was the basis for WebKit, the rendering engine in Apple's Safari and Google's Chrome web browsers, which is now the most widely used browser engine according to StatCounter. Current versions of Chromium/Chrome (except iOS version) and Opera are based on Blink, a fork of WebKit.

Gecko, the Mozilla project's open-source web browser engine, is used by a variety of products derived from the Mozilla code base, including the Firefox web browser, the Thunderbird e-mail client, and SeaMonkey internet suite.

Trident, the web browser engine from Internet Explorer, is used by many applications on the Microsoft Windows platform, such as netSmart, Outlook Express, some versions of Microsoft Outlook, and the mini-browsers in Winamp and RealPlayer.

Opera Software's proprietary Presto engine is licensed to a number of other software vendors, and was used in Opera's own web browser until it was switched to Blink in 2013.

MARTHA is a proprietary software engine developed with Java by RealObjects. The vendor prefix for MARTHA is -ro-

Technical operation

The first web browsers were monolithic. They used various techniques inherited from text processing, such as regular expressions, to parse HTML into a visual representation. Later they adopted a more modular approach and were split into a host application and an engine.

This modular approach has the advantage that it then becomes easy to embed web-browser engines in a variety of applications. For example, the same engine used by a web browser can be used by an email client to display HTML email. On-line help systems integrated in applications have largely moved from using custom formats to using standard HTML displayed with a web-browser engine. The EPUB 3 e-book standard uses a layout engine to render XHTML and CSS.

Timeline

Dillo Blink (layout engine) WebKit Trident (layout engine) Presto (layout engine) KHTML Gecko (layout engine)

See also

References

This article is issued from Wikipedia - version of the Monday, March 07, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.