13Sep

Pourquoi Firefox a dû tuer votre extension préférée

Firefox 57, ou Quantum, est là, et c'est une énorme amélioration. Firefox a enfin rattrapé Chrome en termes de vitesse, l'interface est beaucoup plus propre, et il y a quelques nouvelles fonctionnalités pour démarrer. Il n'y a pas grand chose à redire ici.

Je plaisante. 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 niveau, 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 êtes un utilisateur de l'un de ces services, et vous pourriez 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'il appelle des extensions «héritées» afin d'aller de l'avant. Voici pourquoi.

Fonctionnement des anciennes extensions Firefox

Les extensions traditionnelles de Firefox étaient généralement écrites en langage XUL( XML User Interface Language).C'est le langage avec lequel l'interface utilisateur de Firefox est construite, et les extensions basées sur XUL pourraient directement modifier cette interface. Ces add-ons avaient également un accès presque complet à XPCOM, le puissant modèle d'objet composant utilisé par Firefox.

Si cela vous trottait dans la tête, sachez ceci: les extensions de Firefox avaient plus ou moins la capacité totale de changer votre navigateur, et elles ont fait ces changements directement. C'est pourquoi ces extensions étaient si puissantes: il n'y avait pas un ensemble de choses prescrites qu'elles pouvaient et ne pouvaient 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 maintenant deux ans, Firefox propose une API similaire appelée WebExtensions, qu'elle encourage les développeurs à adopter.

Extensions traditionnelles améliorées Firefox Difficulté

Firefox Quantam n'est pas la première mise à jour pour casser une extension: ceci a été un problème continu pendant des années. Parce que les extensions de Firefox pouvaient affecter directement Firefox, il était même possible que des modifications mineures apportées à Firefox lui-même viennent complètement à bout des add-ons ou introduisent simplement des bugs affectant les performances.

Les utilisateurs de Firefox, ne sachant pas que les extensions causaient 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 de pousser une nouvelle version, mais il est facile d'imaginer tout ce ralentissement du 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 seulement s'assurer que l'API fonctionne correctement, et ne pas s'inquiéter qu'un changement de performance ou une modification de l'interface utilisateur va casser des extensions particulières. Le résultat devrait être une diminution du nombre d'extensions à long terme, mais pour que cela soit possible, Mozilla a dû abandonner l'ancien écosystème d'extension.

Le changement rend également certaines des meilleures fonctionnalités de Quantam possibles. La capacité multi-processus, par exemple, est une grande partie de la 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é que l'écosystème d'extension traditionnel n'a tout simplement pas été construit, et il est difficile d'imaginer de le faire fonctionner sans beaucoup de couches d'abstraction qui ralentiraient inévitablement les choses. De nombreux changements imminents de Firefox ont été également retardés par les extensions existantes, ce qui signifie que l'écosystème a dû changer pour que Firefox évolue.

Compatibilité entre plates-formes était un problème

Il était une fois, les add-ons ont donné aux gens une raison impérieuse d'utiliser Firefox sur Chrome. De nos jours, Chrome est de loin le leader en termes d'add-ons, tandis que Firefox peut se sentir comme un cimetière d'extensions non maintenues des années passées.

Bien sûr, il y a quelques extensions Firefox que vous ne pouvez pas obtenir dans Chrome, mais Chrome a de loin le plus grand écosystème. La nouvelle API WebExtensions ne le résoudra pas du jour au lendemain, mais il est beaucoup plus facile de transférer les extensions Chrome vers Firefox car la langue utilisée pour écrire les extensions est assez similaire pour rendre le portage superficiel. Dans la plupart des cas, seules quelques modifications sont nécessaires pour qu'une extension Chrome s'exécute dans Firefox, ce qui signifie qu'il n'y a aucune raison pour que vos extensions Chrome préférées ne soient pas disponibles sur Firefox si vous demandez au développeur suffisamment de fonctionnalités. Cela devrait conduire à un flot de nouvelles extensions dans un écosystème qui pourrait franchement l'utiliser.

Firefox perdait déjà des utilisateurs

Certains pourraient prétendre que Firefox va perdre des utilisateurs en raison d'extensions cassées, mais il est intéressant de noter que Firefox perdait déjà des utilisateurs de Chrome à un rythme alarmant, et ce depuis des années. La vitesse comparée et l'absence de certains add-ons n'ont pas aidé sur ce front, et Firefox Quantum vise à résoudre ces deux problèmes.

Y at-il une chance que cela se retournera? Sûr. Certaines personnes se jettent sur Chrome, et d'autres peuvent rechercher d'anciennes fourches qui maintiennent 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 est arrivé, 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'offre 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 car Mozilla a tout de suite changé quelque chose. WebExtensions fait partie de Firefox depuis deux ans, et la date limite de mise à jour des extensions a été annoncée il y a un an:

D'ici la fin de 2017, et avec la sortie de Firefox 57, nous passerons à WebExtensions exclusivement, et nous arrêterons tout chargementd'autres types d'extension sur le bureau.

Encore une extension dont vous dépendez? Ce document de Google suit plusieurs extensions populaires, et fournit des alternatives à plusieurs communes. Cette liste est également utile.