iOS 9 : Safari comme nouvelle vue sur le web

Stéphane Moussie |

Avec iOS 9, Apple parachève l'évolution des vues web et améliore grandement l'utilisation de sites web à l'intérieur des apps. Explications.

Pendant longtemps, les vues web (ou web views en anglais) ont traîné des carences. Incomplètes, lentes, ces fenêtres servant à consulter une page web sans ouvrir de navigateur à part entière faisaient mal leur travail (classe UIWebView au départ).

Avec iOS 8, Apple a amélioré la situation en permettant aux vues web d'utiliser le moteur JavaScript Nitro de Safari, plus rapide, tout en conservant la possibilité de les personnaliser (classe WKWebView).

Avec iOS 9, Apple finalise en quelque sorte cette avancée puisque c'est Safari lui-même qui se charge d'afficher la page web. Le nom de la nouvelle classe est d'ailleurs parlant : il n'est plus question de xxWebView, mais de Safari View Controller (SFSafariViewController).

Safari à l'intérieur des apps

Du point de vue des développeurs, cela représente un gros avantage : plus besoin de s'occuper du navigateur interne, ils délèguent entièrement à Safari le rôle d'afficher les pages web et les fonctions connexes.

Pour l'utilisateur, ce changement est aussi grandement positif. Puisqu'il s'agit ni plus ni moins que de Safari, on a accès à toutes les données et fonctions du navigateur dans n'importe quelle app — à condition bien sûr qu'elle prenne en charge Safari View Controller.

C'est d'ores et déjà le cas de Twitterrific, qui est l'une des premières à supporter cette nouveauté, si ce n'est la première. De quoi faire une comparaison concrète avec l'ancienne vue web.

De gauche à droite : vue web dans Twitter, vue web dans Twitterrific et Safari - Cliquer pour agrandir

Pour faire les captures d'écran ci-dessus, nous avons tapoté sur un lien pointant vers un article d'iGeneration à partir de deux clients Twitter : le client officiel à gauche (qui utilise toujours WKWebView), et Twitterrific au milieu. Safari se trouve quant à lui à droite.

Entre Twitter et Twitterrific, les différences sautent aux yeux. D'abord, l'interface n'est pas la même. Alors que la vue web de Twitter a une interface personnalisée, celle de Twitterrific est calquée sur Safari, à quelques détails près.

Vue web dans Twitterrific et Safari - Cliquer pour agrandir

Il n'y a pas les boutons dédiés aux signets et aux onglets, logique, puisque cette vue n'est pas destinée à être un navigateur complet. Il y a un bouton en bas à droite pour ouvrir Safari et un bouton « OK » pour fermer la vue. La barre d'adresse est identique, mais elle est grisée — impossible de saisir manuellement une autre URL.

Ce qui différencie Safari View Controller de WKWebView, c'est aussi la connexion aux sites web qui est maintenue dans la première, puisque les cookies de Safari sont préservés. Puisque je suis connecté à iGeneration dans Safari, c'est également le cas dans la vue web de Twitterrific, contrairement à celle du client officiel Twitter. C'est évidemment pratique pour poster rapidement un commentaire ou profiter de fonctions réservées aux abonnés.

Twitter et Twitterrific - Cliquer pour agrandir

Ça ne vous aura pas échappé non plus qu'il n'y a plus de bandeau de pub dans Twitterrific. Les bloqueurs de contenu, une autre nouveauté d'iOS 9, activés pour Safari fonctionnent en effet également dans Safari View Controller. Dans le cas présent, nous avons donc activé un bloqueur de pub — soit dit en passant, le manque à gagner pour les sites web vivant de la pub risque d'exploser avec l'arrivée d'iOS 9.

Safari View Controller donne aussi accès au trousseau iCloud pour remplir automatiquement ses données de connexion et même le mode lecteur est présent.

Mode lecteur depuis la vue web de Twitterrific

En bref, on profite d'un vrai Safari à l'intérieur d'autres applications, une avancée qui fait gagner du temps (de chargement) et des efforts (de connexion).

Une adoption qui sera ralentie par certains ?

Il y a tout de même quelques critiques à l'encontre de cette nouvelle vue web. Interrogé par MacStories, le développeur Andrew Milham regrette que Safari View Controller ne soit pas bien intégré graphiquement au reste de l'application. Il est vrai qu'on perd en homogénéité avec cette vue qui ressemble quoiqu'il arrive à Safari — les développeurs ne peuvent pas la personnaliser comme WKWebView. On peut aussi juger que c'est un point positif, puisqu'on retrouvera la même interface partout.

Andrew Milham se plaint par ailleurs de ne pas pouvoir ajouter des fonctions très spécifiques comme il le fait actuellement avec son app GiftPlanner. Il reconnait néanmoins qu'il s'agit d'« inconvénients mineurs » par rapport aux « bénéfices significatifs apportés ». Ces inconvénients ne devraient en rien freiner l'adoption de Safari View Controller.

En revanche, les Google, Facebook et autres Twitter avides de données personnelles pourraient se tenir à l'écart de Safari View Controller en raison de sa politique de confidentialité. Contrairement aux précédentes classes, la nouvelle ne permet pas à l'application hôte de voir quelle URL est ouverte, une information importante pour ces entreprises qui font leur beurre avec la publicité ciblée.

Options de partage de la vue web actuelle de l'application Facebook

Par ailleurs, Facebook utilise actuellement une vue web avec des options de partage tournées essentiellement vers ses propres services — Facebook Messenger, partage interne, sauvegarde interne... Adopter Safari View Controller reviendrait à faciliter le partage vers d'autres services, ce qui va à l'encontre du vase clos mis en place aujourd'hui par le réseau social. Apple autorisant toujours WKWebView dans iOS 9, ces entreprises pourraient faire le choix de rester sur ce type de vue web qui sert plus leur intérêt.

Enfin Safari View Controller renforce la position de Safari par rapport aux navigateurs tiers. En s'intégrant dans les apps comme nouvelle vue web, Safari devient encore un peu plus incontournable.

Tags
avatar kiewd | 

Enfin ! iOS 9 s'annonce de plus en plus prometteur !

avatar greggorynque | 

Très bonne avancée, tant pour la fluidité d'utilisation que pour les gains sur les tracking de vie privée.

avatar Gregoryen | 

Vraiment pas mal tout ça !

avatar Vanton | 

Les OS de cette année font envie... Cette pause dans la course frénétique à la nouveauté est pleine de promesses

avatar fousfous | 

@Vanton :
Bah justement déjà que je trouvais IOS 8 assez vide la pour iOS 9 je vais un peu trop vite faire le tour...
Pareil pour OS X ou il n'y a rien aussi...

Au fait vous allez intégrer ça dans macg?

avatar Vanton | 

@fousfous :
iOS et iOS 8 ont bien assez flingué iOS comme ça... :-D Bosser les performances, améliorer l'expérience, qui ont pris fort cher ces deux dernières années, ça ne peut être que positif ! Et tant pis si on en fait vite le tour, si ce tour est plus plaisant... :-)

avatar fousfous | 

@Vanton :
Bah c'est surtout que quand y a pas de nouveautés à trouver on va plus voir tout les bugs sans les pardonner... Mais bon ça c'était à cause de la politique d'ouverture d'Apple, j'espère que TC va se ressaisir pour verrouiller tout ça de nouveau.

avatar thebarty | 

@Vanton :
C'est rare, mais je suis 100% d'accord avec toi sur ce coup.
C'est peut-être moi, mais j'ai le sentiment que tout le monde se calme (Apple, Google et Microsoft) sur les nouveautés à outrance pour enfin remettre au carré leurs OS. C'est tout bon, ca.

avatar fousfous | 

Dommage qu'apple n'oblige pas l'utilisation de la vue web Safari, ça aurait amélioré son adoption surtout pour certains qui aiment bien nos données personnelles...

avatar 6ix | 

@fousfous :
Une vue Web n'est pas utile que pour afficher un site entier, mais simplement pour afficher du HTML.

Ce n'est pas le seul moyen, mais ça reste très pratique par exemple pour afficher un article comme celui-ci; il n'est pas question d'afficher MacG en entier dans l'application, mais simplement un article en particulier, qui lui est créé et mis en page une seule fois qu'elle que soit la plateforme qui l'affiche.

Dans ce cas il n'est pas question d'offrir un navigateur à l'utilisateur, mais uniquement d'avoir un moyen efficace de rendu HTML.

avatar sachouba | 

@fousfous:
"ça aurait amélioré son adoption surtout pour certains qui aiment bien nos données personnelles..."
Tu parles d'Apple, qui va pouvoir encore mieux te cibler avec iAd ?

avatar lineakd | 

@stéphane, superbe article, merci! On en voudrait d'autres...

avatar Sostène Cambrut | 

@lineakd

J'abonde dans votre sens !

avatar CNNN | 

Bah je dois être neuneu mais je vois pas de différence hormis les pubs en moins..
Puis j'ai déjà adblock sur mon iPhone depuis 4 ans ^^

avatar Sostène Cambrut | 

@CNNN

T'es peut-être pas neuneu mais t'es peut-être aveugle ^_^

Si tu regardes bien les boutons en bas de la page sont différents. Mais le rendu de la page internet lui est identique.

avatar Sostène Cambrut | 

Ravi d'apprendre cette nouvelle.

D'abord parce que les apps ne pourront plus se servir d'une WebView pour nous pister.

Enfin parce que ça va être beaucoup plus rapide qu'avant et sans publicité (Ce qui est parfait pour mon RSS Reader).

Pour ce qui est de la vue Safari en question, je suis favorable au changement d'interface. Au moins on sait qu'on est sur une page web et pas simplement dans une app. En espérant qu'Apple impose cette vue par la suite, par souci de transparence avec l'utilisateur.

avatar monsieurg33K | 

Quand je suis sur Facebook, avec certains sites web, j'ai parfois de gros freeze avant que la page ne soit chargée complètement. J'attendais ce changement avec impatience mais comme les développeurs ne seront pas contraints de l'adopté... :(

avatar Sostène Cambrut | 

@monsieurg33K

Bah ça viendra pour iOS 10 !

avatar A884126 | 

Sait-on si avec iOS 9 les pages se rechargent à chaque fois lorsqu'on rouvre Safari ou est-ce dû à un problème matériel ?

avatar Yuku | 

@A884126 :
Pas assez de RAM mon fils... Mais fousfous te dira sûrement qu'il en faudrait encore moins, si Apple le décide...

avatar Vanton | 

@A884126 :
C'est matériel. Trop peu de ram sur les iPhone. Faut bien maintenir les 40% de marge...

avatar feefee | 

@Vanton :

"Faut bien maintenir les 40% de marge..."

Donc 1Go de RAM c'est environ combien ? 20% du prix de l'iPhone ?
C'est de la RAM plaquée or ?

avatar Vanton | 

@feefee :
Ah non mais y a pas que la ram ! Y a les 16go de base aussi ! Et les puces 4G avec une ou deux générations de retard ! Etc, etc.

On va pas se mentir, Apple optimise à mort le logiciel pour arriver à avoir des performances identiques à la concurrence tout en ayant un hardware un cran en dessous.

avatar feefee | 

@Vanton :

"On va pas se mentir, Apple optimise à mort le logiciel pour arriver à avoir des performances identiques à la concurrence tout en ayant un hardware un cran en dessous"

et je trouves ça très bien , autant niveau pratique qu'intellectuel

avatar feefee | 

@Vanton :

"Ah non mais y a pas que la ram ! Y a les 16go de base aussi ! Et les puces 4G avec une ou deux générations de retard ! Etc, etc."

Et alors ?
Quand je vois comment se traîne mon LG avec Android je pense qu'Apple est un cran au dessus

avatar Lemmings | 

Moué, je vois surtout ça comme un moyen pour tuer les navigateurs "alternatifs" sur iOS, même si ils ne sont alternatifs que par les fonctions ajoutées et non le rendu en lui même...

avatar Yuku | 

@Lemmings :
D'accord avec toi ! Au lieu de nous proposer d'utiliser un autre navigateur par défaut (iCab et prochainement Firefox par exemple), on nous enferme encore plus dans Safari... Idem pour le client Mail.
Moi les pubs et le tracking, je connais pas sur mon 5S jailbreaké, et heureusement il y a des tweaks Cydia pour corriger ce genre de conneries.

Pas: le fousfous me fait flipper, j'ai l'impression de revenir 60 ans en arrière...

avatar A884126 | 

@vanton @feefee

On m'a laissé entendre que le problème du rechargement des pages n'existait pas avec l'iPad Air 2.
Est-ce vrai ?

CONNEXION UTILISATEUR