Webkit, le moteur de rendu et ses forks
Le moteur de rendu de Safari, parce qu'il est compact, à équipé les boites à outils pour le rendu de pages, mais il tend maintenant à passer la main.
Pour créer son nouveau navigateur, Safari, la firme Apple avait délaissé Gecko et préféré le runtime KHTML sous Linux qui affiche les pages sous le navigateur Konqueror.
Par la suite Apple a lancé en 2001 à partir du code de KHTML, le projet WebKit qui devient open source en 2007 ou plus précisement, devient accessible aux utilisations tierces.
Il est également utilisé sur les mobiles d'Apple et de Nokia. Il a remplacé Gecko sur le navigateur Epiphany de Gnome sous Linux.
Google à lancé son navigateur Chrome en 2008 en reprenant le code de WebKit associé à un compilateur JavaScript ultra-rapide, ce qui a démarré la course à la rapidité des moteurs JavaScript. Il était aussi utilisé sur Android.
Par la suite, Google a à son tour lancé un fork de WebKit, Blink, qui l'a remplacé sur Chrome et Android en 2013.
Opera utilisait WebKit dans le navigateur Ice pour smartphones en remplacement de Presto, son propre moteur de rendu. Ce navigateur a une interface minimaliste.
Mais elle utilise Blink sur tous ses navigateurs depuis 2013.
Basée sur une interprétation trop optimiste des propos de Ballmer, la rumeur a couru que Microsoft pourrait utiliser WebKit pour certains de ses produits, mais cela a par la suite été démenti par l'intéressé. La phrase était assez ambigüe:
"L'open source est intéressant. Apple a adopté WebKit et nous pouvons voir de ce coté là, mais nous continuerons de faire des extensions pour IE 8." (Conférence des développeurs de Sydney en novembre 2008.)
Toutefois Microsoft est bien un contributeur de WebKit afin de favoriser l'utilisation de certains de ses logiciels dans le navigateur.
WebKit 2 est une nouvelle version qui sépare les pages Web et applications du navigateur lui-même, comme le fait déjà Chrome. Elle est utilisée par Apple mais ne l'a jamais été par Chrome qui avait déjà sa propre architecture pour cet effet.
Celle-ci a été séparée de la version modifiée utilisée par Google pour créer Blink le 3 avril 2013. Cette version du moteur dans Chromium utilise des processus séparés pour chaque iFrame ce qui est plus sûr.
Webkit n'est pas le moteur de rendu le plus utilisé, ce qui dépend de la part de marché des navigateurs, ainsi que l'utilisation dans des boites à outils comme Qt ou Node-Webkit (qui utilisait à l'origine Webkit, d'où le nom, mais est passé ensuite sous Blink).
Les moteurs de rendu des autres navigateurs sont:
- Trident de Microsoft pour le défunt Internet Explorer depuis la version 4. (1997).
WebKit est totalement compatible avec les standards du Web, contrairement au moteur de rendu Trident jusqu'aux versions 9 et 10 d'IE. - Gecko de Mozilla pour Firefox. (1998)
- Presto de Opera. Succède à Elektra depuis la version 7 (2003). Mais remplacé par Blink en 2013.
- Gazelle. C'est un projet de moteur de rendu et de navigateur qui fonctionnerait comme un système d'exploitation.
- Servo. Nouveau navigateur de Mozilla écrit dans sont nouveau langage système Rust.
- EdgeHTML. Pour le navigateur "Microsoft Edge" accompagnant Window 10.
Historique
- 1998. Développement de KHTML.
- 2000. KHTML, moteur de rendu HTML pour le navigateur Linux Konqueror, est diffusé.
- 2000. KSJ est un interpréteur JavaScript pour Konqueror, et complète KHTML.
- 2001, juin 25. Apple créé un fork de KHTML et KJS nommé WebKit.
- 2003, janvier. Annonce du navigateur Safari d'Apple (à l'expo MacWorld).
- 2005, juin. Apple est obligé de rendre le code entier disponible pour tous. C'est finalisé en janvier 2006.
- 2008, septembre. Le nouveau navigateur Chrome de Google est basé sur Webkit. Mais il utilise un compilateur JavaScript propre à Google, V8.
- 2010, avril 8. Le projet WebKit 2 est annoncé.
- 2010, août. Konqueror et KDE peuvent utiliser au choix Webkit ou KHTML.
- 2013, 7 mars. Apple dépose la marque WebKit.
- 2013, avril. Google fait à son tour un fork et crée Blink, dans un ensemble formé de V8 et Blink, nommé Chromium. Chromium tend à remplacer WebKit dans d'autres outils aussi.
- 2014, mai. Le Webkit FTL JIT est un nouvel interpréteur JavaScript basé partiellement sur LLVM qui permet plus d'optimisation et un code accéléré. Seule une partie du code est compilée pour LLVM. Il est activé par défaut sur MacOS et iOS.
Pour plus d'informations, consulter:
- WebKit. Le site.
- Utiliser WebKit pour une application locale. Linux Journal/Anglais.
Cela passe par l'utilisation du framework Qt et QtWebKit, de taille imposante, mais portable et assez facile à utiliser.
Voir aussi
- Chrome.
- Qt. Bibliothèque d'interface graphique qui intègre Webkit.
- WebGL. La libraire 3D pour le Web basée sur OpenGL est supportée par Webkit (et s'affiche dans Canvas).
Opera passe sous WebKit
Opera
Sous Android et iOS le navigateur d'Opera, basé sur WebKit, se nomme ICE. L'avantage sous smartphones est que WebKit étant aussi le moteur de rendu natif, cela donne à ICE un accès plus rapide au matériel. Pour les ordinateurs de bureau cela permet à Opera de partager toutes les avancées de WebKit, à quoi elle s'engage aussi à participer. Sa première participation concerne l'agencement des pages en colonnes.
C'est une bonne nouvelle pour les développeurs d'applications web et les webmasters: un problème de compatibilité en moins. Pour les internautes, cela offrira une interface différente. Sur mobiles, Opera 15% de parts de marché en 2013 selon StatCounter.