Les extensions sont une sorte de modules complémentaires qui étendent les fonctionnalités du navigateur de l’intérieur du logiciel. Leur diversité aussi bien que la possibilité de modifier de fond en comble le navigateur ont fait leur succès.
Ce qui a fait leur succès a aussi causé leur perte. Certaines d’entre elles alourdissaient le navigateur, impactaient ses performances et provoquaient des consommations mémoire gigantesques, le tout facilement mis au passif du navigateur lui-même. Les développeurs de Firefox étaient démunis face à ces problèmes de stabilité dus à du code qu’ils ne maîtrisaient pas au cœur du navigateur.
Mozilla a fait le choix des API, ces bibliothèques d’instructions à disposition des développeurs, et, pour obtenir des extensions multinavigateur qui ne demandent pas d’être redéveloppées entièrement pour chaque navigateur, a choisi le système WebExtensions initié par Google et adopté par d’autres éditeurs de navigateur majeur. En outre, les WebExtensions sont compatibles pour défaut avec le multi-processus qui est l’avenir de Firefox en marche.
Début août, avec Firefox 48, la prise en charge des WebExtensions a été déclarée stable et Mozilla a alors recommandé aux développeurs d’extensions de commencer à utiliser les API correspondantes. Aujourd’hui, le plan de Mozilla d’abandonner à terme les extensions en XUL et SDK, et de ne plus accepter que les extensions de type WebExtensions fin 2017 a été annoncé dans ce billet de Kev Needham de Mozilla que la communauté a traduit pour vous.