Depuis maintenant quelques années, les PWA ont fait et continuent à faire du bruit dans le monde du web. Elles promettent une expérience web proche de celle des applications mobiles natives, une compatibilité multiplateforme tout en étant rapides et sécurisées.
Simple coup médiatique ou réelle avancée technologique, nous allons démystifier les PWA dans une série de deux articles. Dans le premier article que vous vous apprêtez à lire, nous définirons ce qu’est une PWA et ce qui la caractérise, puis dans un second temps nous nous attarderons sur les forces et les limitations de ces dernières.
Qu’est-ce qu’une PWA ?
Derrière cet acronyme de trois lettres se cache les mots « Progressive Web App ». Une PWA (application web progressive en français) n’est ni plus ni moins qu’un site web auquel on a ajouté certains supers pouvoirs afin de combler la distance avec ses cousines, les applications natives.
Pour rappel une application web est une application hébergée sur un serveur. On y accède simplement grâce à notre navigateur web favori. Aucune installation n’est nécessaire à l’inverse des applications natives qui ont besoin d’être téléchargées depuis un store d’applications (Play Store pour Android, App Store pour iOS, AppGallery pour Huawei…)
L’utilisation d’internet sur mobile a explosé ces dernières années dépassant en 2016 celle de l’utilisation sur ordinateur. Le web essaye de rattraper son retard sur les applications natives avec de nouveaux standards.
Bien que les PWA aient le vent en poupe ces derniers temps, le terme n’est pourtant pas récent et a été proposé par Google dès 2015.
Les PWA proposent une nouvelle façon d’offrir des expériences d’applications mobiles accessibles sur le web. Pour ce faire elles utilisent les dernières capacités des navigateurs internet récents. Les PWA ne sont donc pas une nouvelle technologie en soi mais plus un concept de développement d’application web.
Les caractéristiques
Afin d’harmoniser le concept de PWA Google a mis en place une liste de caractéristiques que doivent respecter les applications web pour être estampillées PWA.
1. Progressive
Les applications web progressives doivent fonctionner sur n’importe quel périphérique disposant d’un navigateur web en s’adaptant à tous les formats d’écran, (desktop, tablette, téléphone, montre…) mais aussi aux fonctionnalités disponibles sur ce dernier. Tous les navigateurs ne supportent pas les dernières API web (push notification, camera…). On utilise donc progressivement les nouvelles fonctionnalités en fournissant un fallback pour les navigateurs ne supportant pas celles-ci.
2. Sécurisée
Il est nécessaire de sécuriser la communication entre l’application et le serveur web qui l’héberge. Afin d’éviter toute attaque de type « Man-in-the-middle » l’utilisation du protocole HTTPS est impérative.
3. Installable
Tout comme les applications mobiles natives une PWA peut être ajoutée sur l’écran d’accueil du téléphone, tablette ou de l’ordinateur, afin de permettre une réutilisation simplifiée.
4. Engageante
A l’instar des applications natives, une PWA propose une expérience immersive : Icone sur l’écran d’accueil, splashscreen (écran de lancement), plein écran, utilisation d’API permettant l’accès aux capteurs du périphérique (camera, vibreur, géolocalisation…), réengagement facilité grâce à l’envoi de notifications push.
5. Connectivité Indépendante
Grâce à la gestion du cache par les « Services Workers », la PWA peut fonctionner dans des zones de faible connectivité ou complètement sans réseau. Le lancement de l’application depuis l’écran d’accueil pourra être instantané.
6. Partageable et découvrable
Une PWA est accessible simplement via une URL comme un site internet. Il est donc très simple de partager cette dernière via un simple lien web, un QRCode… De plus elles peuvent être référencées par les différents moteurs de recherche à la façon d’un site web classique afin d’augmenter le trafic vers celui-ci.
Grâce à ces différentes caractéristiques les PWA n’ont pas à rougir face aux applications natives sur les tablettes, téléphones et ordinateurs. Elles possèdent même des avantages non négligeables par rapport à ces dernières que nous verrons dans le prochain article.
Si vous souhaitez en savoir plus, n’hésitez pas à nous contacter.
Simon MAHE – Développeur Mobile