Beaucoup de gens croient qu'il n'existe qu'un navigateur internet. C'est une grave erreur! Il en existe en fait une multitude et il est nécessaire de comprendre ce qui différencie ces navigateurs internet.
Globalement, un navigateur est constitué de deux parties, le moteur de rendu et l'interface. Le moteur de rendu est la partie du logiciel qui fait s'afficher les pages web que l'on visite et l'interface est l'ensemble des menus et des options. Le moteur de rendu constitue en fait le coeur du navigateur. Ce qu'il faut comprendre, c'est que, avant d'être lues par le navigateur, les pages internet sont faites de texte brut et la mise en page y est décrite sous forme de texte (plus exactement, la page est sous forme de code html et la mise en page sous forme de code css). C'est donc le moteur de rendu qui interprête la mise en page et qui affiche à l'écran la page web selon cette mise en page. Bien que les langages html et css soient standardisés, ils ne sont pas toujours lus exactement de la même manière d'un moteur de rendu à un autre. Mais surtout, certain moteurs de rendu ne réussissent pas à lire un partie de ces langages. (En fait, ces langages sont en évolution constante. La lecture des nouvelles fonctions sont progressivement ajoutées aux moteurs de rendu, mais certains restent très en retard sur cette implémentation.) Le résultat est que certains moteurs de rendu n'affiche pas complètement les pages web.
Ainsi l'une des choses qui différencie les navigateurs est la qualité du moteur de rendu. Bien sûr, les navigateurs sont également différencié par les différentes fonctionnalités de leur interface, tels par exemple, la navigation par onglets ou le blocage des popups. L'interface est en quelque sorte la partie émmergée de l'iceberg. On constate facilement les différences d'interfaces, mais on a plus de peine à constater les différences de moteurs de rendu. C'est donc pour cela que j'ai tenu à expliquer ici ce que sont ces moteurs de rendu. D'ici quelques jours, j'écrirai un billet comparatif des moteurs de rendu.