KHTML (pour KDE HTML) est unebibliothèque logiciellelibre derendu de HTML, créée et utilisée par le projetKDE. KHTML a servi de base pour lesforksWebkit, parApple, puis indirectementBlink, parGoogle.
KHTML a été développé en même temps que la technologie à composants KPart qu'il utilise pour être intégré àKonqueror, le gestionnaire de fichiers de KDE. Il est sorti en2000, en même temps que la version 2 de KDE.
En2002Apple choisit KHTML ainsi que KJS pour l'interpréteurJavaScript comme base de son moteur de rendu HTML qu'utilisera son navigateur webSafari. Ce nouveau moteur, placé sous licenceLGPL et appeléWebKit subit de nombreuses modifications visant notamment à réduire les dépendances aux bibliothèques KDE, à tel point que les échanges de code entre les deux moteurs devinrent très compliqués. Ces problèmes ont été réglés lorsque Apple a ouvert le développement de Webkit en utilisant un dépôtSVN et un système de suivi desbug utilisantBugzilla[1]. C'est ainsi que certaines modification d'Apple ont pu être intégrées à KHTML, comme celles ayant permis au moteur de rendu de KDE de passer le testAcid2.
En juin-juillet2007,Trolltech commence à adapter WebKit pour l'intégrer à sa bibliothèqueQt[2], qui est la principale bibliothèque sur laquelle repose KDE. Cet ajout permettra ainsi à Qt de disposer d'un moteur HTML/JavaScript complet. Le Webkit est disponible dans Qt depuis la version 4.4.0[3].
Cette intégration de WebKit a été annoncée par Trolltech aux développeurs de KDE durant l'aKademy 2007. Au vu de cela, plusieurs développeurs pensent qu'il serait intéressant d'utiliser le WebKit de Qt en créant un KPart, pour remplacer KHTML[3].
KHTML est écrit enC++ et disponible sous licenceLGPL. Il est rapide, mais est moins tolérant au niveau des erreurs dans le code HTML que le moteurGecko, du projet libreMozilla.
Il respecte plusieurs standards utilisés sur le Web[4] :
Il supporte également lesappletsJava
Plusieurs navigateursWeb utilisent KHTML. On peut citer notamment :
| Versions | |
|---|---|
| Composants du bureau | |
| Applications | |
| Composants de l'environnement | |
| Modules |
|
| Communauté | |
| |||||||||||||||
| |||||||||||||||
| |||||||||||||||