Les bouleversements se poursuivent dans le petit monde des extensions de Firefox. Les développeurs devront non seulement faire signer leur add-on, un changement annoncé en début d'année, mais aussi en réécrire une (bonne) partie.
En cause, deux éléments. Le premier est connu depuis plusieurs mois, c'est l'arrivée d'Electrolysis (aussi appelé e10s), la nouvelle architecture qui va permettre de séparer le processus des onglets de celui de l'interface afin de gagner en stabilité et en performances (lire : Firefox : 4 milliards d'extensions téléchargées, et maintenant ?). Les développeurs devront adapter leur extension à Electrolysis qui sera normalement intégrée à la version stable de Firefox mi-décembre (Firefox 43).
Le deuxième élement, annoncé aujourd'hui dans un long billet de blog, c'est l'abandon de XUL et XPCOM, « deux technologies fondamentales de Firefox », écrit Kev Needham, en charge des extensions.
« La possibilité d'écrire une grosse partie du navigateur en JavaScript a été un gros avantage pour Mozilla. Cela rend Firefox beaucoup plus personnalisable que les autres navigateurs », explique-t-il. Mais il y a un mais.
Cependant, ces technologies conduisent à un système d'extensions extrêmement permissif. Les extensions ont un accès complet aux entrailles de Firefox. Ce manque de modularité entraîne de nombreux problèmes.
Et de citer l'incompatibilité avec Electrolysis qu'on a vu plus haut et des retards de développement pour prendre en compte des add-ons défectueux qui peuvent faire planter le navigateur.
Pour ces raisons, Mozilla va abandonner ses technologies traditionnelles au profit de WebExtensions. Cette nouvelle API doit donc résoudre les problèmes suscités, mais c'est aussi un moyen pour la fondation de rattraper les développeurs qui privilégient maintenant Chrome, plus populaire.
Les extensions développées pour Chrome et Opera pourront être portées facilement sur Firefox, WebExtensions partageant beaucoup de points commun avec l'API des extensions Blink. C'est un tournant majeur dans le domaine. Firefox, qui a pendant longtemps fait figure de meneur avec son écosystème très riche, suit maintenant Chrome.
Kev Needham admet qu'il y aura plus de travail pour mettre à jour les extensions Firefox existantes que pour porter les extensions Chrome vers Firefox. Les développeurs qui sont restés fidèles au panda roux apprécieront.
Des discussions sont en cours avec les autres éditeurs de navigateur pour standardiser WebExtensions. C'est une bonne nouvelle, car si tout le monde joue le jeu (le plus difficile à convaincre sera sûrement Apple), cela voudra dire que l'on aura des extensions universelles, installables sur n'importe quel navigateur.
Mais il y a une moins bonne nouvelle, en tout cas pour les utilisateurs de Firefox. Si cela va permettre d'amener de nouvelles extensions, celles-ci ne pourront pas être aussi complètes que les actuelles. Les possibilités de personnalisation de Firefox seront sérieusement réduites, entre autres. C'est un « challenge majeur », reconnait Kev Needham, auquel Mozilla entend répondre en améliorant continuellement l'API WebExtension. Bon courage.