Firefox Android abandonne XUL pour booster les performances
Mozilla vit avec Firefox une certaine forme de paradoxe. Le navigateur est présent sur de nombreuses plateformes, et chacune d’entre elles dispose de ses spécificités. Pourtant, le code source du navigateur est le même dans de grandes proportions, Mozilla utilisant la technologie XUL pour son interface notamment. Pourtant, l’éditeur vient de faire un choix radicalement différent pour la version Android de son produit.Le XUL, pour XML-based User interface Language, est comme son nom l’indique un langage créé par Mozilla pour décrire les interfaces. Firefox et Thunderbird l’utilise notamment. Ce langage, une fois interprété, trouve des correspondances pour chaque plateforme pour l’affichage proprement dit. Mais il s’agit justement d’un langage interprété, basé sur des balises et le XML, et s’il permet de fait de concevoir une interface comme une page web, il provoque également une chute dans les performances.
Cette chute ne cause pas de problème sur des ordinateurs sensibles, mais elle peut l’être sur les plateformes mobiles qui n’ont pas autant de puissance. C’est ainsi que Mozilla a opéré pour la toute première un choix radical pour Android : les prochaines versions de l’édition mobile de Firefox
ne feront plus appel à XUL.
Mozilla sait que si son Firefox doit remporter des parts de marché face à un navigateur intégré particulièrement rapide et basé sur Webkit, des choix plus radicaux doivent être faits. L’abandon du XUL se fait en faveur du code natif C++ sur Android pour supprimer tous les calculs liés à l’interprétation. Par ce biais, Mozilla espère booster les performances de son navigateur qui devrait être au minimum beaucoup plus rapide à lancer. L’éditeur indique à ce sujet :
«
Une interface utilisateur native peut s’afficher bien plus rapidement qu’une interface basée sur XUL, puisqu’elle peut être appelée en parallèle du démarrage du Gecko. Cela signifie un temps de démarrage en fractions de seconde, contre plusieurs secondes pour l’interface XUL sur certains téléphones ».
La raison en est simple : puisque le langage XUL est basé sur le XML, il est interprété par le moteur Gecko. Or, tant que celui-ci n’a pas démarré, l’interface ne peut pas être affichée. D’où le délai.
Bien que les fans du navigateur puissent regretter ce choix inédit qui casse la philosophie d’un code majoritairement unique partout, Mozilla précise que cela ne touche que l’interface, puisque le moteur de rendu Gecko reste, lui, bien en place. Des améliorations dans la consommation de mémoire vive seront également à prévoir.
Mais basculer du XUL vers le code natif n’aura pas que des avantages. C’est en effet le XUL qui donne à Firefox l’ensemble de ses capacités de personnalisation. Cela signifie d’une part que l’interface ne pourra plus être modifiée, mais surtout que les développeurs vont devoir obligatoirement adapter leurs extensions. Une version modifiée du SDK sera proposée plus tard. En définitive, performances, réactivité et consommation réduire d’un côté, obligatoire de réécrire les extensions de l’autre.
Ces changements ont été décidés, mais Mozilla précise qu’aucune date ne peut être donnée pour l’instant. Une seule certitude : cette importante modification ne prendra pas place dans les actuels canaux Aurora et bêta, ce qui signifie que Firefox Mobile 8 et 9 seront toujours basés sur le XUL.
via Pcinpact.com