Developer(s) | KDE |
---|---|
Stable release | 5.111.0 (September 10, 2023 ) [±] [1] |
Repository | invent |
Written in | C++ [2] |
Type | Browser engine |
License | GNU Lesser General Public License |
KHTML is a discontinued [3] browser engine that was developed by the KDE project. It originated as the engine of the Konqueror browser in the late 1990s, but active development ceased in 2016. [1] [4] It was officially discontinued in 2023. [3]
Built on the KParts framework and written in C++, KHTML had relatively good support for Web standards during its prime. Engines forked from KHTML are used by most of the browsers that are widely used today, including WebKit (Safari) and Blink (Google Chrome, Chromium, Microsoft Edge, Opera, Vivaldi and Brave).
KHTML was preceded by an earlier engine called khtmlw or the KDE HTML Widget, developed by Torben Weis and Martin Jones, [5] [6] which implemented support for HTML 3.2, HTTP 1.0, and HTML frames, but not the DOM, CSS, or JavaScript.
KHTML itself came into existence on November 4, 1998, [5] as a fork of the khtmlw library, with some slight refactoring and the addition of Unicode support and changes to support the move to Qt 2. Waldo Bastian [7] was among those who did the work of creating that early version of KHTML. [5]
The real work on KHTML actually started between May and October 1999, with the realization that the choice facing the project was "either do a significant effort to move KHTML forward or to use Mozilla" [5] and with adding support for JavaScript as the highest priority. So in May 1999, Lars Knoll [8] began doing research with an eye toward implementing the DOM specification, finally announcing [9] on August 16, 1999 that he had checked in [10] what amounted to a complete rewrite of the KHTML library—changing KHTML to use the standard DOM as its internal document representation. That in turn allowed the beginnings of JavaScript support to be added in October 1999, [5] followed shortly afterwards with the integration of KJS by Harri Porten.
In the closing months of 1999 and first few months of 2000, Knoll did further work with Antti Koivisto and Dirk Mueller [5] [11] [12] to add CSS support and to refine and stabilize the KHTML architecture, [5] with most of that work being completed by March 2000. Among other things, those changes enabled KHTML to become the second browser after Internet Explorer to correctly support Hebrew and Arabic and languages written right-to-left [5] —before Mozilla had such support.
KDE 2.0 was the first KDE release (on October 23, 2000) to include KHTML [13] (as the rendering engine of the new Konqueror file and web browser, which replaced the monolithic KDE File Manager).
KSVG was first developed in 2001 by Nikolas Zimmermann and Rob Buis; however, by 2003, it was decided to fork the then-current KSVG implementation into two new projects: KDOM/KSVG2 (to improve the state of DOM rendering in KHTML underneath a more formidable SVG 1.0 render state) and Kcanvas (to abstract any rendering done within khtml/ksvg2 in a single shared library, with multiple backends for it, e.g., Cairo/Qt, etc.). [14]
KHTML was scheduled to be removed in KDE Frameworks 6. [4] Active development ended in 2016, just the necessary maintenance to work with updates to Frameworks 5. [1] It was officially discontinued in 2023. [3]
The following standards are supported by the KHTML engine:
KHTML and KJS were adopted by Apple in 2002 for use in the Safari web browser. Apple publishes the source code for their fork of the KHTML engine, called WebKit. In 2013, Google began development on a fork of WebKit, called Blink. [17]
Konqueror is a free and open-source web browser and file manager that provides web access and file-viewer functionality for file systems. It forms a core part of the KDE Software Compilation. Developed by volunteers, Konqueror can run on most Unix-like operating systems. The KDE community licenses and distributes Konqueror under GNU GPL-2.0-or-later.
Gecko is a browser engine developed by Mozilla. It is used in the Firefox browser, the Thunderbird email client, and many other projects.
A browser 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.
WebKit is a browser engine primarily used in Apple's Safari web browser, as well as all web browsers on iOS and iPadOS. WebKit is also used by the PlayStation consoles starting with the PS3, the Tizen mobile operating systems, the Amazon Kindle e-book reader, Nintendo consoles starting with the 3DS Internet Browser, and the discontinued BlackBerry Browser.
This is a comparison of both historical and current web browsers based on developer, engine, platform(s), releases, license, and cost.
Tasman is a discontinued browser engine developed by Microsoft for inclusion in the Macintosh version of Internet Explorer 5. Tasman was an attempt to improve support for web standards, as defined by the World Wide Web Consortium. At the time of its release, Tasman was seen as the layout engine with the best support for web standards such as HTML and CSS. Internet Explorer for Mac is no longer supported, but newer versions of Tasman were incorporated in some other Microsoft products.
This article compares browser engines, especially actively-developed ones.
A JavaScript engine is a software component that executes JavaScript code. The first JavaScript engines were mere interpreters, but all relevant modern engines use just-in-time compilation for improved performance.
KDE Platform 4 was a collection of libraries and software frameworks by KDE that served as technological foundation for KDE Software Compilation 4 distributed under the GNU Lesser General Public License (LGPL). KDE Platform 4 was the successor to KDElibs and the predecessor of KDE Frameworks. KDE Platform 4 is the only version of KDE Platform, and in 2013 it was replaced by KDE Frameworks 5.
The Acid3 test is a web test page from the Web Standards Project that checks a web browser's compliance with elements of various web standards, particularly the Document Object Model (DOM) and JavaScript.
K Desktop Environment 3 is the third series of releases of the K Desktop Environment. It was one of the two major desktop environments for GNU/Linux systems between 2002 and 2008. There are six major releases in this series. After the release of KDE 4, version 3.5 was forked into the Trinity Desktop Environment.
K Desktop Environment 2 was the second series of releases of the K Desktop Environment. There were three major releases in this series.
Chromium is a free and open-source web browser project, primarily developed and maintained by Google. It is a widely-used codebase, providing the vast majority of code for Google Chrome and many other browsers, including Microsoft Edge, Samsung Internet, and Opera. The code is also used by several app frameworks.
A lightweight web browser is a web browser that sacrifices some of the features of a mainstream web browser in order to reduce the consumption of system resources, and especially to minimize the memory footprint.
The Chromium Embedded Framework (CEF) is an open-source software framework for embedding a Chromium web browser within another application. This enables developers to add web browsing functionality to their application, as well as the ability to use HTML, CSS, and JavaScript to create the application's user interface.
Blink is a browser engine developed as part of the free and open-source Chromium project. Blink is by far the most-used browser engine, due to the market share dominance of Google Chrome and the fact that many other browsers are based on the Chromium code.
EdgeHTML is a proprietary browser engine from Microsoft that was formerly used in Microsoft Edge, which debuted in 2015 as part of Windows 10.
Electron is a free and open-source software framework developed and maintained by OpenJS Foundation. The framework is designed to create desktop applications using web technologies that are rendered using a version of the Chromium browser engine and a back end using the Node.js runtime environment. It also uses various APIs to enable functionality such as native integration with Node.js services and an inter-process communication module.
KDE Projects are projects maintained by the KDE community, a group of people developing and advocating free software for everyday use, for example KDE Plasma and KDE Frameworks or applications such as Amarok, Krita or Digikam. There are also non-coding projects like designing the Breeze desktop theme and iconset, which is coordinated by KDE's Visual Design Group. Even non-Qt applications like GCompris, which started as a GTK-based application, or web-based projects like WikiToLearn are officially part of KDE.
Removed for KF6, the 'kf5' branch contains the last maintained state.