Pourquoi Firefox devait tuer votre extension favorite
Firefox 57, ou Quantum, est là, et c'est une énorme amélioration. Firefox a finalement rattrapé Chrome en termes de rapidité, l'interface est beaucoup plus propre et il y a quelques nouvelles fonctionnalités intéressantes à démarrer. Il n'y a pas grand chose à redire ici.
Je rigole. Sur Internet, il y a toujours quelque chose à redire.
Avec Firefox Quantum, la plainte de jour est que certaines extensions ne fonctionnent plus. De nombreuses extensions de haut profil, notamment DownThemAll et Greasemonkey, ne fonctionnent pas actuellement avec Quantum. D'autres, y compris Firebug et ScrapBook, ne fonctionneront probablement plus jamais.
C'est frustrant si vous utilisez l'un de ces services et vous pouvez penser que c'est quelque peu arbitraire. Ce n'est pas. Qu'on le veuille ou non, Mozilla a estimé qu'ils n'avaient pas d'autre choix que d'abandonner ce qu'ils appellent des add-ons «hérités» afin d'aller de l'avant. Voici pourquoi.
Comment les anciennes extensions de Firefox ont fonctionné
Les extensions Firefox traditionnelles étaient généralement écrites en langage XML User Interface Language (XUL). C’est le langage dans lequel est construite l’interface utilisateur de Firefox, et les extensions basées sur XUL pourraient modifier directement cette interface. Ces add-ons avaient également un accès presque complet à XPCOM, le puissant modèle objet composant utilisé par Firefox..
Si cela vous a échappé, sachez simplement que: les extensions Firefox avaient une capacité plus ou moins totale de changer de navigateur, et elles apportaient ces modifications directement. C'est pourquoi ces extensions étaient si puissantes: il n'y avait pas un ensemble prescrit de choses qu'elles pourraient et ne pourraient pas changer. C'est aussi pourquoi ces extensions ont tendance à rompre avec les nouvelles versions de Firefox.
Les extensions pour Chrome ou Safari ne fonctionnent pas de cette façon. Ces navigateurs offrent aux développeurs d’extensions des API spécifiques qu’ils peuvent utiliser, ce qui signifie qu’il existe une liste de choses que les extensions peuvent et ne peuvent pas contrôler. Depuis deux ans, Firefox propose une API similaire à WebExtensions, qui encourage les développeurs à adopter.
Les extensions traditionnelles rendaient l'amélioration de Firefox difficile
Firefox Quantam n’est pas la première mise à jour à casser une extension: c’est un problème persistant depuis des années. Etant donné que les extensions de Firefox pouvaient affecter si directement Firefox, il était possible que des modifications, même mineures, de Firefox lui-même fassent disparaître complètement les add-ons ou introduisent simplement des bogues qui réduisent les performances..
Les utilisateurs de Firefox, ne sachant pas que les extensions posaient le problème, supposeraient que la nouvelle version de Firefox est boguée, et de leur point de vue, c'était le cas. L’équipe de Firefox ferait de son mieux pour s’assurer que les extensions populaires fonctionnaient avant d’introduire une nouvelle version, mais il est facile d’imaginer tout cela ralentir le développement..
L'API WebExtensions facilite tout cela en définissant spécifiquement ce que les extensions peuvent faire et comment elles peuvent le faire. Cela signifie que les développeurs doivent uniquement s’assurer que l’API fonctionne correctement et ne pas craindre qu’un ajustement des performances ou une modification de l’UI ne casse des extensions particulières. Le résultat devrait être moins d'extensions de rupture sur le long terme, mais pour rendre cela possible, Mozilla devait abandonner l'ancien écosystème d'extension..
Cette modification rend également possible certaines des meilleures fonctionnalités de Quantam. La capacité multi-processus, par exemple, constitue une part importante du gain de vitesse de Firefox Quantam. Quatre processus distincts gèrent l'interface et les onglets de Firefox, ce qui signifie que Firefox peut utiliser les quatre cœurs de votre processeur au lieu d'un seul. C’est une réalité pour laquelle l’écosystème d’extension traditionnel n’était tout simplement pas conçu, et il est difficile d’imaginer le faire fonctionner sans beaucoup de couches d’abstraction qui ralentiraient inévitablement les choses. De nombreux changements à venir dans Firefox étaient pareillement retardés par des add-ons hérités, ce qui signifiait que l'écosystème devait changer pour que Firefox évolue..
La compatibilité entre plates-formes était un problème
Il était une fois, les add-ons donnaient aux gens une raison impérieuse d'utiliser Firefox sur Chrome. De nos jours, Chrome est de loin le chef de file en matière d’add-ons, alors que Firefox peut sembler être un cimetière d’extensions non entretenues d’anciennes années..
Bien sûr, il existe quelques extensions Firefox que vous ne pouvez pas obtenir dans Chrome, mais Chrome possède de loin le plus grand écosystème. La nouvelle API WebExtensions ne résoudra pas le problème du jour au lendemain, mais il sera beaucoup plus facile de transférer des extensions Chrome vers Firefox, car le langage utilisé pour les écrire est suffisamment similaire pour rendre le portage superficiel. Dans de nombreux cas, une extension Chrome ne nécessite que quelques ajustements, ce qui signifie que rien ne s'oppose à ce que vos extensions Chrome préférées ne parviennent pas maintenant à Firefox si vous le demandez assez bien au développeur. Cela devrait conduire à un flot de nouvelles extensions dans un écosystème qui pourrait franchement l'utiliser.
Firefox perdait déjà des utilisateurs
Certains diront que Firefox perdra des utilisateurs à cause d'extensions endommagées, mais il convient de noter que Firefox perdait déjà des utilisateurs au profit de Chrome à un rythme alarmant, et ce depuis des années. La vitesse comparative et le manque de certains add-ons n’aident en rien, et Firefox Quantum vise à résoudre ces deux problèmes..
Y a-t-il une chance que cela se retourne contre nous? Sûr. Certaines personnes quitteront rapidement Chrome, tandis que d'autres pourront rechercher d'anciennes fourchettes préservant l'ancien écosystème d'extension. Mais ce n'est pas comme si les choses allaient bien avant. Firefox devait évoluer pour rester pertinent, et c'est ainsi qu'ils ont décidé de le faire..
Les développeurs ont eu le temps de passer à la nouvelle API
Certains utilisateurs ne remarqueront même pas que ce commutateur s'est déjà produit, car les extensions avec lesquelles ils travaillent utilisent déjà l'API WebExtension. Les autres extensions n'ont pas changé.
Cela peut être dû au fait que le développeur a abandonné l'extension il y a longtemps, ou n'a pas envie de la réécrire pour utiliser l'API. Dans certains cas, l'API n'offrant pas assez de contrôle pour recréer l'extension d'origine, les développeurs abandonnent donc leurs projets. Et dans de nombreux cas, la conversion n'est tout simplement pas encore terminée.
Quoi qu'il en soit, les extensions ne se cassent pas parce que Mozilla a changé quelque chose tout d'un coup. WebExtensions fait partie de Firefox depuis deux ans et la date limite pour la mise à jour des extensions a été annoncée il y a un an:
D'ici fin 2017, et avec la sortie de Firefox 57, nous passerons exclusivement à WebExtensions et nous ne chargerons plus aucun autre type d'extension sur le bureau..
Vous manquez toujours une extension dont vous dépendez? Ce document de Google suit plusieurs extensions populaires et propose des alternatives à plusieurs communes. Cette liste est également utile.