Avec le navigateur Chrome de Google et le noyau WebKit, certains passionnés de technologie se demandent si le noyau Gecko de Mozilla ne va pas prendre fin. Cependant, malgré la popularité croissante de WebKit, ceux qui connaissent les différences entre WebKit et Gecko, et qui l’apprécient, estiment que la possibilité que Mozilla utilise le noyau WebKit dans les futures versions de Firefox n’est pas encore discutée. Avantages du Webkit Webkit est un moteur de rendu HTML open source développé par le projet KHTML d’Apple, basé sur KDE. Nous avons vu dans la critique de Chrome que Webkit est un moteur de rendu très léger, salué pour sa base de code compacte et épurée, son excellent support standard et son faible espace mémoire. Ces qualités font de Webkit un noyau populaire pour de nombreux navigateurs. Webkit est principalement utilisé dans le navigateur Safari d’Apple et l’iPhone, mais certains fabricants importants comme Adobe, Nokia et Trolltech utilisent également ce cœur. Les utilisateurs de Webkit incluent également certains navigateurs moins connus, tels que iCab, Omniweb, Shiira et Epiphany. Dans certains systèmes d’exploitation de niveau 2 comme Haiku, Syllable et même Amiga, Webkit est également populaire. De plus en plus de développeurs utilisent Webkit pour développer des applications Internet riches. Après avoir évalué de nombreux noyaux, Google a choisi WebKit pour son navigateur mobile Android et son navigateur de bureau Chrome. Le commentaire accepté par le développeur sur Webkit est qu’il s’agit d’un très bon moteur de rendu pouvant être utilisé dans de nombreuses situations, et son attrait a amené de nombreux développeurs à se demander s’il existe un marché pour le noyau Gecko de Mozilla. Pourquoi Apple boycotte Gecko Issu de Netscape et antérieur à KHTML, Gecko a été critiqué pour sa base de code vaste et complexe. Gecko est très puissant, mais il est coûteux, complexe et a une grande empreinte mémoire. En conséquence, il arrive souvent que les nombreuses caractéristiques de Gecko deviennent un fardeau. La raison pour laquelle le noyau Gecko est trop complexe est que Gecko souhaite offrir plus de fonctionnalités que le rendu HTML. Les ambitions initiales de Mozilla étaient énormes, la première suite d’applications de Mozilla comprenant un navigateur, des programmes de messagerie et de groupes de discussion, des outils de conception web et un chat IRC. En plus du rendu HTML, Gecko propose également un moteur de génération d’interface utilisateur largement utilisé basé sur XML, XUL. XUL est utilisé dans tous ces programmes. XUL est encore utilisé dans Firefox aujourd’hui pour générer des interfaces utilisateur, ce qui en fait l’une des applications multi-extensions les plus précieuses de Firefox. Une autre raison pour laquelle Gecko est trop complexe est XPCOM, un système de composants puissant. Bien que XPCOM apporte de nombreuses fonctionnalités passionnantes à Gecko pour compénanter le moteur de rendu, il a été exploité par certains développeurs, et lorsque Ars Technica a interviewé Scott Collins, développeur de Mozilla, en 2004, Scott Collins a déclaré que l’abus de XPCOM était l’une des nombreuses erreurs majeures commises par Mozilla. Compte tenu de la complexité que représentent XUL et XPCOM, il est naturel qu’Apple envisage de choisir un noyau plus léger pour Safari. Apple voulait concevoir un navigateur qui puisse être étroitement intégré au système d’exploitation Mac, et ils prévoyaient également que le moteur devrait prendre en charge les appareils mobiles, ils ont donc reconnu que KHTML convenait mieux que Gecko. En 2003, lorsque Apple a décidé d’utiliser KHTML dans Safari, Mike Shaver de Mozilla a écrit sur un blog sur les lacunes de Gecko. Il a également prédit qu’Apple deviendrait leur alliance pour promouvoir les standards web. Il a écrit, « Petit et raffiné était notre objectif, et la masse et le gonflement de Gecko ont fait apparaître nos scores dans divers avis, et si je devais écrire un nouveau navigateur, je considérerais d’autres options que Mozilla. J’espère que Mozilla apprendra de Safari/KHTML car ils implémentent de très bonnes fonctionnalités avec un dixième du code. ” Gecko donne vie à Firefox 3 Depuis 2003, beaucoup de choses ont changé. La base de code de Gecko a évolué depuis longtemps, Gecko reste complexe, mais beaucoup de ses défauts historiques sont corrigés, et Gecko apporte de nombreuses innovations à Firefox 3 qui apportent des améliorations significatives à l’ensemble de l’expérience de navigation web. Gecko 1.9 utilise le framework de rendu multiplateforme Cairo, d’énormes améliorations du SVG simplifient le code et introduisent des fonctionnalités très intéressantes comme le zoom pleine page, et en même temps, un algorithme de reflow refactoré qui a permis à Gecko de réussir les tests Acid 2. Mozilla a également considérablement réduit son empreinte mémoire, dépassant même Safari et Opera. L’utilisation de XPCOM a été fortement réduite, et l’empreinte de ressources de XPCOM a été réduite par un nouveau recycleur de recyclage. Ce travail se poursuit, et Mozilla va encore alléger la charge sur XPCOM dans Firefox 4. D’autres défauts de Gecko ont également été corrigés dans le nouveau développement, comme l’ajout du support de CSS 3 dans la version alpha de Firefox 3.1, ainsi que certaines améliorations de performance qui rendront Gecko plus compétitif. Le moteur TraceMonkey de Mozilla sera probablement inclus dans Firefox 3.1, ce qui améliorera significativement les performances de Javascrip{filter}t. D’un point de vue technique, Gecko est désormais très solide et pas pire que Webkit. Certaines preuves suggèrent que Gecko progresse dans le mobile, ce qui n’était pas possible il n’y a pas si longtemps. Mozilla dispose des ressources, de l’expérience en développement et du soutien communautaire qui guideront Gecko vers un territoire accessible à n’importe quel webkit. |