Le projet hybride de Google ? les « Progressive Web Apps » (PWA)

C’est quoi les “Progressive Web Apps (PWA)” ?

L’idée est de combiner les possibilités du HTML5, des CSS et des Framework JavaScript, afin de créer des pages web dont les possibilités sont proches de celles d’une application :

  • le code peut stocker des informations sur le smartphone, ou accéder à des données,
  • la web app est appelée depuis une icône, et on finit par oublier que ce n’est pas une application smartphone classique
  • l’affichage plein écran fait aussi oublier que l’application tourne dans un navigateur.

Les PWA exploitent plusieurs technologies clés et reposent essentiellement sur une combinaison de l’architecture « application shell » (voir explication dans le paragraphe suivant) et des “service workers”. Un service worker est un script qui est exécuté dans le navigateur et qui permet de supporter des expériences hors ligne.

Les service workers apportent également des gains de performance grâce à une mise en cache hors ligne intelligente et le chargement instantané pour des visites répétées sur votre site ou application web.

En ce qui concerne l’architecture « application shell », il s’agit d’une architecture d’application web moderne qui tire parti d’un service worker pour mettre en cache la « coque » de votre application hors ligne et remplir son contenu en utilisant JS, quand la coque est chargée (comme illustrée dans l’image suivante).

La coque (shell en anglais) d’une application fait allusion au code HTML, CSS et JavaScript minimal qui alimente l’interface utilisateur.

PWA : Progessive web apps et application shell (coque) et contenu

La coque (« application shell ») est préchargée pour les visites répétées, et le contenu n’a plus qu’à se plugger dynamiquement sur cette dernière. Le temps de chargement du contenu est donc moins long.

 

IL y a des avantages d’avoir les PWA ? oui !

Google voit deux avantages aux PWA :

Le premier avantage, c’est que les PWA sont un atout pour l’écosystème Android : cela permet de créer des applications plus légères, plus respectueuses de l’utilisateur, plus évolutives et plus faciles à mettre à jour.

Le deuxième avantage est que Google tire ses revenus avant tout de la publicité sur le web, et dépend moins qu’Apple des téléchargements d’application. Cela permet d’éviter les ruptures entre « web » et « applications » en permettant une expérience continue à l’aide de browser (rappelons que Chrome est le navigateur dominant).

Google recommande dorénavant, pour les éditeurs de site qui veulent voir le contenu de leurs applications indexé, de créer plutôt des PWAs !

 

Que font les PWA concrètement ?

Concernant ce que les PWA font concrètement et leurs caractéristiques, on peut noter qu’elles sont :

  • progressives : elles sont construites avec l’amélioration progressive comme un principe de base et fonctionnent pour chaque utilisateur, quel que soit le choix du navigateur
  • responsives : elles s’adaptent à tout facteur de forme à savoir bureau, mobile, tablette, etc.
  • indépendantes de la connectivité : elles sont capables de fonctionner hors ligne ou sur les réseaux de faible qualité grâce aux service workers
  • toujours à jour grâce aux service workers
  • sûres : elles sont servies via HTTPS pour prévenir l’espionnage et assurer que le contenu n’a pas été altéré
  • elles peuvent être partagées facilement via une URL ;
  • elles disposent d’une icône qui peut être affichée sur l’écran d’accueil.

 

il y a des impacts ? oui !

Pour le moment, certains types d’applications ne peuvent pas être remplacés par une PWA, mais les avantages des PWAs sont tels que l’on peut s’attendre à un vrai développement de cette solution.

En résumé, si vous envisagez de créer une nouvelle application, étudiez dès maintenant la possibilité de créer une PWA directement plutôt qu’une application ou un site mobile.

Véronique Duong & Alexandre S.