KHTML: Difference between revisions
mNo edit summary |
|||
Line 59: | Line 59: | ||
* [[ABrowse]] - a web browser for [[Syllable (operating_system)|Syllable OS]] (formerly [[AtheOS]]) |
* [[ABrowse]] - a web browser for [[Syllable (operating_system)|Syllable OS]] (formerly [[AtheOS]]) |
||
* [[Nokia_Series_60|Nokia Series 60 browser]] - a web browser for the [[Nokia]] [[Nokia_Series_60|series 60]] mobile phones <ref>[http://press.nokia.com/PR/200506/998214_5.html]</ref>. |
* [[Nokia_Series_60|Nokia Series 60 browser]] - a web browser for the [[Nokia]] [[Nokia_Series_60|series 60]] mobile phones <ref>[http://press.nokia.com/PR/200506/998214_5.html]</ref>. |
||
* [[Swift (web browser)|Swift]] |
* [[Swift (web browser)|Swift]] - a WebKit-based web browser for Windows |
||
== See also == |
== See also == |
Revision as of 20:21, 27 May 2007
Developer(s) | KDE project |
---|---|
Stable release | 5.111.0 (September 10, 2023[±][1] | )
Repository | |
Operating system | Linux/Unix |
Type | Layout engine |
License | LGPL |
Website | khtml.info |
KHTML is the HTML layout engine developed by the KDE project.
History
Built on the then new KPart framework, it was introduced with KDE2 in 2000, for use in the new Konqueror file and web browser which replaced the monolithic KDE File Manager. Written in C++ and licensed under the LGPL, it supports most of the standards related to web browsing. To render as many pages as possible, some extra abilities and quirks from Internet Explorer are supported, even though they are not part of the HTML standard definition.
KHTML is faster than the Gecko layout engine, its main open source rival and core of the Mozilla and Mozilla Firefox browsers, among others. However, being a less widely known browser, many websites fail to support it or claim no support even if the site does work. Gmail, for instance, only works if Konqueror reports itself as Firefox (See UA Spoofing).
KHTML and Apple
The engine was adopted by Apple in 2002 for its Safari web browser. Apple publishes the source code for up to date and all previous versions of their version of the KHTML engine, called WebCore and WebKit, as required by the LGPL. The exchange of code patches between the two branches of KHTML has diverged because the projects have increasingly different approaches. [5]
Contributing to the separation, Apple had not complied with parts of the Open Source philosophy. Examples include Apple working on their version of KHTML for a year before making their fork public, and Apple sometimes submitting their changes in large patches that incorporate a great number of changes, in some cases leaving code to do with future feature additions undocumented. The former example made it difficult for the KDE developers to incorporate the changes. Regardless, the KDE project was able to incorporate some of these changes to improve KHTML's rendering speed and add features, including compliance with the Acid2 rendering test.
According to Apple, some changes involved Mac OS X-specific features (e.g. Objective-C, KWQ, OS X calls) which are absent in KDE's KHTML, which called for different development tactics [2].
Apple has since released changes of the sourcecode of its KHTML fork in a CVS repository. [3] Since the divesture of the sourcecode into the CVS repository, Apple and KHTML developers have had increasing collaboration. Many of the top KHTML developers have become reviewers and submitters for Apple's WebKit SVN repository. Because the WebKit and KHTML source differ so greatly at this date, some key KHTML developers are looking to backport the WebKit source to KDE through a project codenamed 'Unity' [4].
Standards compliance
The following standards are supported by the KHTML engine:
- HTML 4.01
- CSS 1
- CSS 2.1 (screen and paged media)
- CSS Selectors (fully as of KDE 3.5.5)
- CSS 3 (fully as of KDE 3.5.6)
- PNG, MNG, JPEG, GIF graphic formats
- DOM 1, 2 and partially 3
- ECMA-262/JavaScript 1.5
- Partial Scalable Vector Graphics support
KHTML-based applications
KDE applications
- KDE Konqueror - web browser and file manager for KDE
- KMail - uses KHTML for viewing HTML-formatted email
- KHelpCenter - documentation viewer for KDE
- Akregator - uses KHTML to display full articles without opening a separate web browser
- Amarok - uses KHTML to display information about currently playing file
Mac OS X (WebKit) applications
- Safari - Apple's web browser
- Shiira, an open source browser for Mac OS X based on WebKit with more features than Safari
- OmniWeb 5 - The Omni Group browser for Mac OS X
Other applications
- Embedded Konqueror - web browser for PDAs and other embedded systems
- ABrowse - a web browser for Syllable OS (formerly AtheOS)
- Nokia Series 60 browser - a web browser for the Nokia series 60 mobile phones [5].
- Swift - a WebKit-based web browser for Windows
See also
References
External links
- KHTML Homepage
- Web Browser - list of KHTML features on Konqueror site
- KHTML - KDE's HTML library - definition from developer.kde.org
- KHTML from KDE API Reference
- History of the relationship of KHTML and Webcore
- Apple WebKit Open Source Project