les interfaces Mozilla reposent sur une toute autre technologie que les toolkits classiques : c'est du XML (XUL), CSS (pour le look), javascript etc..
D'ailleurs, ils ne réinventent pas la roue : ils réutilisent leur moteur de rendu web pour afficher leur interface ;-)
Utiliser une techno comme le XUL/HTML, ça a de nombreux avantages, dont la capacité à pouvoir être modifié à la volée, à être modifié via des extensions (grâce aux overlays), et ceci de manière très simple, sans avoir à mettre de hook partout comme on le ferais avec des toolkits "classiques" (si je ne dis pas de bêtises)...
Bref, il y a certains cotés novateurs dans les technos Mozilla (qui datent d'il y a 10 ans). On ne peut donc pas dire que c'est "réinventer la roue" :-)
à noter qu'on peut très bien afficher le look natif du système, en utilisant certaines propriétés CSS (appearance par ex). Le moteur de rendu va alors interroger le toolkit système [1], pour connaitre certaines caractéristiques graphique et les reproduire. (-moz-appearance:button; -> sous linux gecko va utiliser GTK pour afficher la balise XUL avec l'apparence d'un button GTK).
[1] par défaut, sous linux ce sera GTK, sous windows le système graphique windows, sous mac celui de macosx, etc. Il y a aussi un wrapper pour QT, mais faut l'activer à la compilation (utilisé surtout sur la verion mobile de Firefox, pour les tablettes Nokia je crois, mais je n'en suis pas sur).
[^] # Re: pourquoi ils n'utilisent pas une bibliothèque multi-plateforme ?
Posté par Laurent J (site web personnel, Mastodon) . En réponse à la dépêche Prototype du nouveau thème de Firefox 3.7 sous Linux. Évalué à 5.
D'ailleurs, ils ne réinventent pas la roue : ils réutilisent leur moteur de rendu web pour afficher leur interface ;-)
Utiliser une techno comme le XUL/HTML, ça a de nombreux avantages, dont la capacité à pouvoir être modifié à la volée, à être modifié via des extensions (grâce aux overlays), et ceci de manière très simple, sans avoir à mettre de hook partout comme on le ferais avec des toolkits "classiques" (si je ne dis pas de bêtises)...
Bref, il y a certains cotés novateurs dans les technos Mozilla (qui datent d'il y a 10 ans). On ne peut donc pas dire que c'est "réinventer la roue" :-)
à noter qu'on peut très bien afficher le look natif du système, en utilisant certaines propriétés CSS (appearance par ex). Le moteur de rendu va alors interroger le toolkit système [1], pour connaitre certaines caractéristiques graphique et les reproduire. (-moz-appearance:button; -> sous linux gecko va utiliser GTK pour afficher la balise XUL avec l'apparence d'un button GTK).
[1] par défaut, sous linux ce sera GTK, sous windows le système graphique windows, sous mac celui de macosx, etc. Il y a aussi un wrapper pour QT, mais faut l'activer à la compilation (utilisé surtout sur la verion mobile de Firefox, pour les tablettes Nokia je crois, mais je n'en suis pas sur).