Safari 10 : un nouveau type d'extension distribué dans le Mac App Store

Stéphane Moussie |

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.

Schéma d'une app extension.

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é.

Un exemple d'app extension.

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.

avatar Doctomac | 

Ce qui est chiant, c'est la lenteur des développeurs à suivre le mouvement.

Depuis El Capitan et Safari 9, les extensions doivent être signées par Apple pour pouvoir être distribuées dans la galerie d'extension de Safari.

Près d'une année s'est écoulée et l'extension de l'application Zotero par exemple n'est toujours pas dispo dans la nouvelle galerie. Résultat, il faut la récupérer sur le site de l'éditeur mais plus embêtant encore, faire les mises à jour manuellement.

avatar leolelego (non vérifié) | 

ce qui est chiant c'est les gens qui connaissent rien au développement et se permettent de dénigrer le taff des développeurs.

avatar Doctomac | 

???

avatar Siilver777 | 

@leolelego :
Euh… que Doctomqc n'y connaisse rien (ou pas d'ailleurs, je ne le connais pas, je vais pas me baser sur un seul post pour prétendre le connaître, post qui d'ailleurs ne comporte rien d'incriminant quant à ses éventuelles connaissances en développement) c'est une chose, mais… il faut le dire, il a raison. Trop peu de développeurs suivent le mouvement dès qu'un truc "moins utile que la moyenne mais important quand même" est disponible.

Signer une extension, ou n'importe quelle application, ça se fait plutôt rapidement et ça ne demande pas de grosses compétences.

(Je ne dis pas que les autres nouveautés sont moins importantes, chaque ajout sera important pour le développeur qui saura comment et dans quel contexte s'en servir. Et dans cet exemple, c'est plutôt important et ça traîne donc effectivement.)

avatar guillrun | 

@Siilver777 :
?

avatar Doctomac | 

Bien moi non plus, je ne comprends pas en quoi mon premier post préfigure de mes connaissances en développement et surtout en quoi il dénigre le travail des développeurs.

avatar iGeek07 | 

Je pense que leolelego a généralisé un peu vite ton propos en "les développeurs sont lents a adopter les nouveautés", ce qui d'une part dépend beaucoup du développeur et d'autre part ne veut pas dire la même chose selon la technologie dont on parle.
Pour ce qui est de signer une extension… c'est rapide, on voit bien que l'éditeur de l'extension dont tu parles doit l'avoir abandonnée, ou ne fait pas son boulot de se tenir au courant de se qui se passe sur la plateforme pour laquelle il développe.

Après c'est sur que si on parle de remplacer une API par une autre complètement nouvelle qui vient de sortir, le travail peut (et est souvent) bien plus conséquent, et il est vrai que certaines personnes ne s'en rendent pas compte (mais effetivement ton commentaire Doctomac ne me semble pas choquant dans le contexte de l'article…).

avatar xDave | 

À vrai dire il y a un paquet de ces extensions qui ne fonctionnent plus ou mal.
Je pense que cette réforme apportera d'une part une meilleure stabilité et intégration de ces extensions et d'autres part obligera les développeurs un peu plus à les maintenir.

De plus, ça clarifie nettement l'offre pour tout le monde (non technique) en centralisant sur un seul "Store" au lieu de renvoyer à une galerie différente.

Évidemment qui dit intégration profonde et application dit aussi plus de travail mais également une valeur ajoutée supplémentaire.

À suivre...

CONNEXION UTILISATEUR