Comparison of web browser engines

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Usage share by percent of layout engines/web browsers.

The following tables compare general and technical information for a number of layout engines. While these are mainly used in web browsers, they are also used in email clients for rendering HTML email, and used to render EPUB e-books, for example. The selection of layout engines that remain in development is much smaller than what is available for most other types of desktop software. A 2015 Popular Mechanics article, for instance, noted that "every browser has a rendering engine, but some of them share DNA, and virtually all of them date back decades."[1]

This article is not all-inclusive—please see individual "Comparison of layout engine" articles for detailed comparisons of HTML5 feature support, CSS feature support, and the like. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.

General information

Basic general information about the engines.

Engine Developer(s) Software license Leading application Target application(s) Programming language
Blink[note 1] Google, Opera, Samsung, Intel, others[2] GNU LGPL, BSD-style Google Chrome Google Chrome & Opera from 15.0 C++
Dillo Dillo developers GNU LGPL Dillo Dillo C
EdgeHTML[note 2] Microsoft Proprietary Edge Edge C++[3]
Gecko Netscape/Mozilla Foundation MPL Mozilla Firefox Mozilla Firefox & Mozilla Thunderbird C++
GtkHTML[note 3] GNOME GNU LGPL Novell Evolution Novell Evolution C
Hubbub Andrew Sidwell MIT[4] NetSurf NetSurf C
iCab[note 3] Alexander Clauss Proprietary iCab iCab ?
KHTML KDE GNU LGPL Konqueror Konqueror & KMail C++
NetFront Access Co. Proprietary NetFront NetFront ?
Presto Opera Software Proprietary Opera Opera[note 4] C++[5]
Prince XML YesLogic Pvt Ltd Proprietary Prince XML Prince XML Mercury
Tasman[note 3] Microsoft Proprietary Microsoft Entourage Internet Explorer for Mac & Microsoft Entourage ?
The Bat! Ritlabs Proprietary The Bat! The Bat! Delphi
Servo Mozilla Foundation MPL Rust
Trident[note 3] Microsoft Proprietary Internet Explorer Internet Explorer C++[6]
WebKit[note 5] Apple, KDE, Nokia, BlackBerry, Palm, others GNU LGPL, BSD-style Apple Safari Apple Safari C++
XEP RenderX Proprietary XEP XEP Java

Release history

A brief overview of the release history.

Engine First public release First stable release Latest stable release
Date Version Date Version Date Version
Blink 3 April 2013[7] No number 3 April 2013[7] No number N/A SVN version only
EdgeHTML 12 November 2014 12.0 15 July 2015 12.10240 5 November 2015 13.10586
Gecko 7 December 1998 "Preview" 19 March 1999 M3 43.0.4 (January 6, 2016; 8 years ago (2016-01-06)[8]) [±]
ESR

38.5.2 (December 22, 2015; 8 years ago (2015-12-22)[9]) [±]

GtkHTML 2000  ? 2000  ? 14 December 2009 3.28.2
Hubbub 22 April 2002  ? 17 May 2007 1.0 15 March 2015 3.3
iCab 1998  ? 1998  ? 1 January 2008 3.0.5[10]
KHTML October 2000  ? October 2000  ? 4 August 2009 4.3
NetFront 1995  ? 1995  ? 13 January 2010 4.0
Presto 13 November 2002 1.0 28 January 2003 1.0 5 November 2012 2.12.388
Prince XML April 2003 1.0 April 2003 1.0 May 2010 7.1
Tasman 27 March 2000 0 27 March 2000 0 11 May 2004 1.0
The Bat! 27 April 2000 1.32 27 April 2000 1.32 24 August 2009 4.2.10
Trident April 1997 No number October 1997 No number 17 October 2013 7.0
WebKit 7 January 2003 48 23 June 2003 85 N/A SVN version only
XEP 1999 fo2pdf  ?  ? March 2010 4.18

Operating system support

The operating systems the engines can run on without emulation.

Engine Windows OS X Linux BSD Unix Symbian OS
Blink[note 6] Yes Yes Yes Yes Yes No
Dillo Yes Yes Yes Yes Yes[note 7] No
EdgeHTML Yes No No No No No
Gecko Yes Yes[note 8] Yes Yes Yes No
GtkHTML Yes Yes Yes Yes Yes No
Hubbub No Yes Yes Yes Yes No
iCab No Yes No No No No
KHTML Yes Yes Yes Yes Yes Yes
NetFront Partial[note 9] No Yes No No Dropped[11]
Presto Dropped (12.16) Dropped (12.16) Dropped (12.16)[note 10] Dropped (12.16)[note 11] Dropped (10.11) Yes
Prince XML Yes Yes Yes Yes Yes No
Servo[12] Unknown Yes Yes Unknown Unknown No
Tasman No Dropped (5.2.3) No No No No
The Bat! Yes No No No No No
Trident Yes Dropped (4.0) No[13] No Dropped (5.0) No
WebKit Yes Yes Yes Yes Yes Yes
XEP[14] Yes Yes Yes Yes Yes No

Notes

  1. Blink was created by Google by forking WebKit
  2. EdgeHTML was created by Microsoft by forking Trident.
  3. 3.0 3.1 3.2 3.3 This engine is not currently being developed.
  4. Opera switched to Webkit, then followed Google to Blink.
  5. WebKit was created by Apple by forking KHTML. Subsequently Apple released it as an open source project.
  6. Blink cannot be used alone and must be used via Chromium's content layer which has wide platform support. Lua error in package.lua at line 80: module 'strict' not found.
  7. Dillo has been compiled successfully for IRIX, and hence is capable of running natively on UNIX.
  8. Although dropped in current version, older versions of the Gecko web browser engine for Mac OS 8.6 and Mac OS 9 are still available for download from Netscape's Archived Products site. An updated port of the Mozilla Application Suite for classic Mac OS systems is maintained as Classilla.
  9. NetFront supports Windows CE and Android, but is mainly used as an embedded browser on low-end mobile phones.
  10. Opera has released a developer version of the Blink-based Opera 24 in July 2014.
  11. The newer versions of Opera (based on the Blink engine) will not be released for FreeBSD anymore.

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. 7.0 7.1 Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. The iCab 4 browser uses the WebKit engine - iCab 3.0.5 was the final release of the Carbon (API)-based iCab engine Lua error in package.lua at line 80: module 'strict' not found.
  11. From Access website (2010/06/19): "Access no longer offers nor supports NetFront Browser for Symbian."
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Through the use of the Wine Libraries some version of IE can be started.Lua error in package.lua at line 80: module 'strict' not found.
  14. XEP is written in Java, with a dedicated release line for Windows.

See also