Comme Microsoft Edge avant le passage au moteur de rendu Blink (utilisé entre autres par Google Chrome), l’un des points faibles de Safari (aussi bien sur macOS que sur Windows) était le petit nombre d’extensions disponibles pour les utilisateurs. La raison est simple : étant donné la popularité du navigateur Google Chrome, nombreux sont les développeurs qui préfèrent créer des extensions pour Chrome (et qui sont par ricochet compatibles avec tous les navigateurs s’appuyant sur le moteur de rendu Blink comme Opera, Vivaldi et bien d’autres).Aussi, Apple a rappelé aux développeurs en août 2020 qu'ils peuvent créer des extensions Web dans Safari 14 en utilisant la même API WebExtensions utilisée dans d'autres navigateurs, tels que Chrome, Firefox et Edge. L'éditeur en a profité pour leur indiquer qu'un outil de portage dans Xcode 12 bêta est mis à leur disposition ; le nouvel outil de conversion dans Xcode 12 bêta permet lui aussi aux développeurs de porter des extensions existantes d'autres navigateurs vers Safari et de les rendre disponibles sur le Mac App Store plus tard cette année.
Dans la documentation, Apple explique « qu’une extension Web Safari ajoute des fonctionnalités personnalisées à Safari en utilisant des API JavaScript et des formats de fichiers couramment utilisés dans les extensions pour les navigateurs Google Chrome, Mozilla Firefox et Microsoft Edge. Alors que les extensions d'application Safari sont utiles pour partager du code entre votre application macOS native et Safari, les extensions Web Safari sont principalement construites sur JavaScript, HTML et CSS, et peuvent être reconditionnées pour fonctionner dans d'autres navigateurs. »
En s'ouvrant à WebExtensions, Safari était donc capable d'utiliser les extensions développées pour Chrome et Firefox ! Apple a fourni un outil de conversion, mais malheureusement cette nouveauté de Safari 14 pour Mac, inaugurée avec Big Sur, n'a pas eu le succès escompté. Cette fois-ci, l'entreprise a opté pour une autre approche en choisissant l'alliance avec d'autres entreprises technologiques.
Création du groupe communautaire WebExtensions
Le nouveau groupe communautaire WebExtensions tentera de forger une architecture commune pour les futures extensions Web et invite les développeurs à se joindre à cette initiative. Safari a adopté une nouvelle API d'extension Web avec macOS Big Sur qui permet aux extensions conçues pour d'autres navigateurs de fonctionner avec. Cela a ouvert la porte à de nouvelles extensions, mais une méthode standardisée de développement des extensions n'avait pas été définie.
Le nouveau groupe, abrégé WECG, se compose de membres de chacun des principaux développeurs de navigateurs. À la tête de ce nouveau groupe, nous retrouvons Timothy Hatcher d'Apple et Simeon Vincent de Google. Les participants actuels comprennent des employés d'Apple, Mozilla et Microsoft.
Le World Wide Web Consortium, l'organisme chargé de promouvoir la compatibilité des technologies du World Wide Web, a commenté cette action en ces termes :
« Nous sommes ravis d'annoncer le lancement du groupe communautaire WebExtensions (WECG). Avec plusieurs navigateurs adoptant un modèle largement compatible pour les extensions au cours des dernières années, le WECG est ravi d'explorer comment les fournisseurs de navigateurs et d'autres parties intéressées peuvent travailler ensemble pour faire progresser une plateforme d'extension de navigateur commune. Apple, Google, Microsoft et Mozilla lancent ce groupe communautaire, et nous invitons d'autres éditeurs de navigateurs, développeurs d'extensions et parties intéressées à se joindre à cette initiative*! »
Le groupe communautaire WebExtensions a deux objectifs*:
- Faciliter la création d'extensions pour les développeurs en spécifiant un modèle cohérent et un noyau commun de fonctionnalités, d'API et d'autorisations.
- Décrire une architecture qui améliore les performances et est encore plus sécurisée et résistante aux abus.
« Notre travail sera guidé par un ensemble commun de principes de conception HTML et W3C TAG*: centrée sur l...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.
