Progressive Web App (PWA) — Support et compatibilité des Web App Manifest

Les plateformes d’information dîtes “platform status” des différents acteurs du web permettent de recueillir l’état d’avancement de l’implémentation des spécifications. Bien que les Web App Manifest soient encore au stade de Draft W3C certains navigateurs sont pourtant très avancés dans leur implémentation (Mai 2018).

Certaines écuries n’hésitent pas à pousser des versions intermédiaires ou basées sur des standards propriétaires afin de se mettre à niveau et éviter de perdre la course de l’adoption auprès des développeurs. Pour autant, le marché des Progressive Web Apps (PWAs) étant porteur, les différents acteurs semblent itérer assez rapidement sur ces fonctionnalités dans le but de respecter les standards. En effet, tout comme les dernières versions des principaux navigateurs, l’ensemble des protagonistes (qui pour la plupart participent à l’élaboration du Draft) sont conscients que l’avenir des PWAs passera par les standards et notamment par le W3C dans l’optique d’amener une approche de développement globale et cross-platform.

Can I Use expose le support du Web App Manifest par les navigateurs (Mai 2018)

Source : https://caniuse.com/#search=web%20app%20manifest

Faits marquants à propos des Web App Manifest

Over the coming months, we’re laser focused on polishing our initial implementation of the core technologies behind PWAs in EdgeHTML and the Universal Windows Platform — Service Worker, Push, Web App Manifest, and especially Fetch are foundational technologies which have a potentially dramatic impact to compatibility and reliability of existing sites and apps, so real-world testing with our Insider population is paramount.
  • La version iOS 11.3, arrivée en Mars 2018, vient apporter un meilleur support des Web App Manifest au sein de iOS mais aussi et principalement sur les Services Workers. Cependant, toujours pas de Web App Install Banners à l’horizon, fonctionnalité qui participerait à la démocratisation des PWAs sur la plateforme Apple.
  • 30 Avril 2018 Microsoft annonce la mise à jour de EdgeHTML et le support des Service Workers, Push, etc. avec une prise en charge des fichiers Web App Manifest.

Le Web App Manifest, une fonctionnalité qui manque de maturité

Dans ce milieu des navigateurs où les itérations et le versioning sont extrêmement rapprochées, les Web App Manifest ne sont pas épargnés et font actuellement l’objet de développements intensifs de la part des géants du web.

Les Web App Manifest sont aujourd’hui en mesure de fonctionner et ce sur la totalité des navigateurs dits “modernes”, même si sur Safari, le chemin reste semé d’embûches et vous obligera à certaines conciliations.

Liste des éventuelles problématiques liées à iOS et l’utilisation du Web App Manifest (non-exhaustif) :

  • Pas de gestion de splash screen
  • Pas de gestion du theme-color
  • Le display mode n’est pas opérationnel (fullscreen, minimal-ui) ce qui implique de gérer les boutons de navigation au sein de l’interface
  • Impossible de forcer l’orientation de la PWA
  • Pas de gestion de la transparence des icônes (comme sur Android par exemple)
  • L’intégration au sein de l’environnement n’est pas finalisée, écran blanc lors du changement d’app.

Pour ce qui concerne les PWAs dans leur ensemble, il reste encore des problématiques de tailles à régler étant donné que cette technologie est dite “expérimentale” chez Apple.

  • iOS limite l’espace de stockage du cache (mode offline) à 50 Mo
  • Lorsque vous n’utilisez pas la PWA sur votre iPhone, iOS se permet de libérer l’espace de stockage en supprimant le cache de cette dernière.
  • iOS ne permet pas encore l’envoi de notification push (dont badge)
  • iOS ne permet pas encore d’accéder au informations de batterie, Bluetooth, Touch ID, ARKit, etc.

Le Web App Manifest pour une meilleur intégration dans les éco-systèmes

A terme, le fichier Web App Manifest permettra aussi de référencer votre PWA. En effet, ce fichier Manifest étant crawlable (fichier trouvable par un robot d’exploration type GoogleBot) les géants du web commencent déjà à se positionner sur son exploitation à grande échelle. Une PWA étant un dérivé des applications natives et des technologies web les questions de visibilité dans les SERP (Search Engine Result Page) demeurent. Pour exemple, Microsoft a annoncé le 30 Avril 2018 que Bing était déjà en mesure d’indexer des PWAs sur base des fichiers Web App Manifest et ce dans le but de les intégrer automatiquement dans le Microsoft Store disponible sur Windows 10.

Bing indexing service will automatically package your PWA in the .appx format required for installation on Windows 10 and assemble your app’s store product page based on the metadata in its web app manifest. After claiming your PWA, you’ll be able to further customize your store page and gain access to user analytics and other app management tools throug the Windows Dev Center dashboard.

Source : https://docs.microsoft.com/fr-fr/microsoft-edge/progressive-web-apps/microsoft-store#automatic-pwa-importing-with-bing

Etant à l’initiative du terme via Alex Russell et faisant largement la promotion des PWAs, Google s’est clairement positionné sur le fait que mixer les PWAs avec le format AMP (PWAMP) vient modifier la façon dont Google affiche les résultats de son moteur de recherche et de son store Google Play (UX, Rapidité, Services, etc.) et ce jusqu’à les mettre en avant en favorisant leur affichage.

Il y a fort à parier que Apple apportera rapidement une réponse. Toutefois il est important de préciser que même si Apple a été l’un des inventeurs du concept (par le biais de Steve Jobs lors de la WWD07 et des applications sur le “premier” iPhone), la firme est aujourd’hui un peu à la traîne concernant son implémentation et ses standards. L’AppStore étant un sujet épineux il convient d’observer les réactions futures de la pomme à ce sujet. Au mois de Mars 2018 iOS 11.3 a été la première version d’iOS adressant des fonctionnalités avancées dîtes PWAs sans pour autant impacter l’AppStore.

Le marché asiatique et indien est-il “Web App Manifest — Ready” ?

En Asie

Les GAFAM (Google, Apple, Amazon, Facebook, Microsoft) représentés par le couple Chrome + Safari restent largement en tête avec près de 60% du trafic sur le mobile en Mars 2018.

StatCounter expose les statistiques d’utilisation des navigateurs mobile en Asie (Mars 2018)

Source : http://gs.statcounter.com/browser-market-share/mobile/asia#monthly-201703-201803

Cependant, les BATX (Baidu, Alibaba, Tencent et Xiaomi) proposent un nombre grandissant de navigateurs. Grâce à l’ère du smartphone, ils ont su doper leurs parts de marché en atteignant prêt de 35% d’utilisation sur le mobile en Asie.

Concernant l’implémentation des Web App Manifest sur ces navigateurs :

Toxic Johann expose le support du Web App Manifest par les navigateurs (Mai 2018)

Source : https://ispwaready.toxicjohann.com/#web%20app%20manifest

On constate que Baidu et Xiaomi proposent des solutions opérationnelles, mais celles-ci ne sont pas conformes aux standards. Lors de la génération de Web App Manifest, ce non respect des standards va imposer la gestion de plusieurs cas spécifiques plus ou moins chronophage pour ces différentes plateformes.

En Inde

Au mois d’Avril 2018, le couple UC Browser + Chrome représentait près de 80% du trafic mobile et 90% en comptant le navigateur Opéra.

StatCounter expose les statistiques d’utilisation des navigateurs mobile en Inde (Avril 2018)

Il est à noter que UC Browser (40% du trafic mobile en Inde pour Avril 2018) a annoncé son support pour les PWAs :

The latest build is based on Chromium 57 with good supports for PWA and ES2015+’s new features

La documentation pour les développeurs d’UC Browser est accessible à cette adresse https://plus.ucweb.com/docs/ et fait référence à la MDN pour l’implémentation d’un Web App Manifest.


Comment intégrer un Web App Manifest au sein de votre site internet, blog, site e-commerce ou SPA ?

En savoir plus sur le Web App Manifest ? Quels outils utiliser pour accélérer son implémentation ? Comment le mettre à jour ? Si vous êtes intéressé par ces sujets je vous invite à lire mon article dédié au Web App Manifest (https://medium.com/@guillaumeandre/progressive-web-app-pwa-fichier-web-app-manifest-7292db378af5).