Apple a annoncé des changements importants concernant les extensions de Safari durant la WWDC 2016. Actuellement, les extensions sont distribuées via la Galerie d'extensions Safari du site d'Apple. Certaines seront aussi disponibles dans le Mac App Store prochainement. Safari 10 sur macOS Sierra et OS X El Capitan va être en fait compatible avec un nouveau type d'extensions baptisé app extensions.
Comme leur nom le laisse entendre, ces app extensions sont intégrées à des applications, d'où leur place dans le Mac App Store. Le principe est le même que sur iOS : quand vous téléchargerez un logiciel dans le Mac App Store, vous récupérerez en même temps son extension pour Safari (libre à vous ensuite de l'activer ou non). Cela sera utile pour 1Blocker, Evernote ou bien encore 1Password, qui nécessitent aujourd'hui de télécharger une app dans le Mac App Store puis l'extension sur le site d'Apple.
L'aspect pratique des app extensions ne s'arrête pas là. Puisque l'extension est attachée à l'application, il n'y a plus de risque d'incompatibilité entre les deux. De plus, les deux peuvent communiquer en toute sécurité — cela résoudra peut-être la vulnérabilité entre l'extension 1Password et 1Password mini.
Tandis que les extensions actuelles sont écrites avec des technologies web (HTML, CSS et JavaScript), les app extensions sont créées dans Xcode avec du code natif en plus et peuvent tirer parti des capacités des applications.
Les apps extensions peuvent personnaliser les pages web, bloquer des contenus, ajouter un bouton dans la barre d'outils (et afficher un menu popover) et ajouter un élément dans le menu contextuel. Par ailleurs, le portage des bloqueurs de contenu iOS sur Mac est facilité.
Lors de la session de présentation, les ingénieurs d'Apple ont montré une app extension permettant de copier du texte dans un bloc-note. L'ajout se fait en sélectionnant le texte dans la page web, puis en utilisant l'option du menu contextuel. Il est ensuite possible de modifier le texte en cliquant sur le bouton de l'extension affiché dans la barre d'outils.