Mozilla annonce plusieurs nouveautés pour le devenir des extensions et de son modèle avec son navigateur Firefox. Parmi celles-ci, l'implémentation dans Firefox de WebExtensions. Le principal objectif de cette API est de faciliter le portage des extensions entres les navigateurs.

Firefox-10-ans Cette technologie est similaire à l'API pour les extensions en HTML, JavaScript et CSS dans Google Chrome ainsi que Opera qui sont basés sur le moteur de rendu Blink. Les extensions pourront ainsi être développées pour plusieurs navigateurs à la fois.

Outre Google Chrome et Opera, le cas de Microsoft Edge est également évoqué, sachant que les extensions seront prochainement prises en charge dans le nouveau navigateur par défaut de Windows 10.

Ce changement d'importance va logiquement entraîner la dépréciation du modèle basé sur XUL et XPCOM pour les extensions dans Firefox. Les extensions seront ainsi développées selon un modèle de développement de type Web. Le fait de se tourner vers la nouvelle technologie WebExtensions est aussi guidé par le projet Electrolysis.

La première phase du projet Electrolysis vient d'attendre Firefox Developer Edition (pré-bêta de Firefox) pour du multi-processus. Le contenu Web est exécuté dans un processus en tâche de fond qui est séparé du processus principal de Firefox. Or, WebExtensions supporte par défaut le multi-processus.

Les développeurs n'auront pas forcément la tâche facile. Ceux qui produisent des extensions uniquement pour Firefox vont devoir s'adapter aux changements. La partie sera plus simple pour les développeurs qui conçoivent déjà des extensions Chrome puisque le même code pourra être réutilisé (avec de menues modifications).

Source : Mozilla