vendredi 20 novembre 2009, par
La plupart des navigateurs modernes utilisent des moteurs de rendu HTML libres. Par exemple : Firefox, Konqueror, Safari [1], Google Chrome, Epiphany.
Pourtant, à bien y regarder, certains de ces navigateurs partagent le même moteur de rendu HTML. Ces moteurs sont :
Gecko
WebCore

Gecko est originellement le moteur de rendu HTML du navigateur Mozilla (successeur du défunt Netscape). Il est actuellement utilisé dans les navigateurs suivants (liste non exhaustive) :
SeaMonkey
Firefox
Galeon
...
Ce moteur implémente les langages et interfaces suivants : Javascript, HTML, XHTML, XML, XUL, CSS, RDF, SVG, DOM,...

KHTML est le moteur de rendu HTML du projet KDE.
Il est utilisé dans le navigateur suivant :
Konqueror
Un fork de KHTML a été créé par la société Apple : WebCore (composant de Webkit)
WebKit a tellement évolué par rapport à son ancêtre KHTML que se sont maintenant deux projets bien distincts.

WebCore est utilisé par les navigateurs suivants :
Safari
Google Chrome
Konqueror [2]
Epiphany [3]
Arora
Shiira
rekonq
...
Il est possible de développer avec webkit en utilisant les bibliothèques suivantes : Qt4, GTK+ et wxWidgets.
Il est très simple d’utiliser Webkit en quelques lignes, exemple en python :
#!/usr/bin/env python
import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtWebKit import *
app = QApplication(sys.argv)
page = QWebView()
page.load(QUrl("http://www.google.fr"))
page.show()
sys.exit(app.exec_())

Difficile de faire plus simple [4] !
WebKit est actuellement utilisé dans énormément de nouveaux projets, même son ancêtre KHTML pourrait disparaitre à son profit. Il a peu de dépendances, est rapide et très léger.
Gecko, quand à lui vient de voir déserter le navigateur par défaut de Gnome : Epiphany.
Est-ce la fin de Gecko ? Disons que Gecko et WebKit ne répondent pas aux mêmes besoins. Gecko est le seul capable d’interpréter le langage XUL [5]. Avec son interpréteur XUL et Javascript, il est possible de réaliser une infinité d’extensions, c’est ce qui fait la force de ce moteur.
La puissance de Gecko a un prix et cela se retrouve dans ses performances (Gecko est plus gourmand et plus lent que WebKit).
À vous de faire votre choix ;-)
Si vous cherchez un navigateur léger et rapide tournant nativement sous KDE4, je vous recommande rekonq.
[1] Bien que Safari ne soit pas libre, son moteur de rendu HTML est bien un logiciel libre
[2] Il est possible d’utiliser Konqueror avec WebKit en installant webkitkde
[3] depuis sa version 2.28
[4] Ayant testé WebKit avec Qt, je vous confirme que l’écriture de programme avec cette plate-forme est simple et rapide. Voici des exemples fourni par Qt.
[5] même l’interface de firefox est dessinée à l’aide de XUL ! Rentrez les adresses suivantes dans firefox pour vous en rendre compte chrome://browser/content/browser.xul ou chrome://browser/content/preferences/main.xul ;-)