Pourquoi choisir une Progressive Web App ? Pour quels projets d’application ?
Explorez le concept de Progressive Web App (PWA) pour comprendre les intérêts et inconvénients.
Explorez le concept de Progressive Web App (PWA) pour comprendre les intérêts et inconvénients.
En quelques années les Progressive Web Apps (ou PWA) ont réussi à se développer une part non négligeable dans l’univers du développement d’application. Une progressive web app (ou PWA) est une application web développée avec des langages de développement web (HTML5, CSS3, JavaScript…) et exécutée depuis un navigateur web. Son fonctionnement se veut très proche de ce que pourrait proposer une application classique.
Découvrez dans cet article dédié aux PWA, leurs avantages, inconvénients et les différences à faire avec une application mobile native.
Une Progressive Web App est une application web optimisée pour l’utilisation sur mobile en y proposant une expérience qui se veut proche des applications mobiles natives. Une PWA peut et incluant des fonctionnalités d’habitude dédiée aux applications natives.
Elles s’exécutent depuis un navigateur web et les fonctionnalités chargées sont gardées en cache pour une utilisation future hors-ligne. Une application PWA pourra être utilisée en mode hors connexion par l’utilisateur conférant ainsi un atout indéniable.
Pour bien comprendre la différence entre application mobile native et PWA, il faut garder en tête qu’une application mobile se télécharge depuis un store tel que l’App Store ou le Play Store. Une PWA ne nécessite aucun téléchargement et est accessible depuis un navigateur web.
Elles utilisent des Services Workers – des scripts qui fonctionnent en parallèle de la page web – pour exploiter certaines fonctionnalités natives de l’appareil et ainsi proposer des fonctionnalités d’usage poussées.
Ce nouveau standard web est porté par Google. Les PWA répondent à tout une checklist précise que vous pourrez retrouver la plateforme dédiée aux développeurs.
Twitter Lite
Le réseau social Twitter s’est doté d’une Progressive Web App avec pour ambition de fluidifier l’usage sur mobile de la plateforme tout en gagnant en performance grâce à une consommation bien plus faibles de données, un usage renforcé en cas de réseau faible (3G). Largement moins volumineuse que la version native avec seulement 3MO de stockage nécessaire sur votre smartphone.
Découvrez Twitter Lite
L'Équipe.fr
Le premier média sportif français est le premier dans le secteur de la presse à avoir fait le pari d’une Progressive Web App pour son site mobile. Ce projet était au coeur d’un gros projet de refonte de leur plateformes digitales. Découvrez le REX de ce projet de PWA par le CTO de L’Équipe, Raphaël Dardeau.
Les Progressive Web App sont présentées par Google comme des “Websites that took all the right vitamins” ou des sites web survitaminés qui présentent de nombreux avantages pour les marques qui décideraient d’en déployer.
Le déploiement instantané
Au même titre qu’un site web (puisqu’une PWA est un site web), il suffit de faire la mise à jour sur le serveur pour déployer la PWA. Par ailleurs, elles peuvent être ajoutées au PlayStore en version beta. Ainsi, elle peut être visible au travers de recherche sur le store.
L’accès rapide
À l’instar d’un site web standard, il n’y a pas besoin de télécharger toute l’application pour en profiter. Elle peut aussi être ajoutée sur la home en y créant un lien avec une icône app. La PWA pourra ainsi être accessible comme une application native depuis l’écran du smartphone sans passer par une recherche sur le navigateur. Enfin elle est consultable hors-ligne.
Le référencement
Les PWA étant des sites web, elles profitent donc des mêmes possibilités de référencement sur les moteurs de recherches.
L’effet mobile-like
L’application tend à ressembler le plus possible à une application native : icône sur la home, design, fonctionnalités… Certaines fonctionnalités natives du smartphone peuvent être reprises par une PWA comme l’accès à l’appareil photo, la géolocalisation ou encore le micro.
Des fonctionnalités limitées
Si une PWA peut bénéficier de certaines fonctionnalités liées aux applications natives, l’accès aux fonctionnalités du device mobile reste limité à un sous-ensemble.
Par exemple, certaines fonctionnalités ne sont pas disponibles, comme :
Un support incomplet
Les PWA sont généralement utilisables sur la plupart des navigateurs modernes, mais pas les anciennes versions. Des utilisateurs n’ayant pas mis à jour leur navigateur ne pourront donc pas y accéder. De plus, les fonctionnalités disponibles ne sont pas les mêmes d’un navigateur à un autre. Google Chrome possède par exemple un panel de fonctionnalités plus larges que d’autres navigateurs. Cela offre plus de possibilités d’interactions avec votre PWA que d’autres navigateurs plus restreints.
Imitation de l’UX et UI
Lors du développement d’une application mobile native, les guidelines de l’OS (Android ou iOS) sont précises et cadrent l’interface en matière d’ergonomie et de design pour une lecture mobile optimisée. Le web a un champ des possibles plus large et moins encadré. De ce fait, les PWA ont un risque de présenter une ergonomie pas toujours adaptée au mobile (boutons trop petit, rendu différent selon le téléphone…) si la phase de design et de conception n’est pas travaillé correctement.
Les technologies Web
L’application est développée en Javascript, qui apporte ses avantages mais aussi ses inconvénients. Le langage Javascript étant plus permissif et moins robuste, il peut être une source de bugs. L’écosystème JavaScript est également très volatile et requiert une forte maintenance pour garder l’utilisation de librairies fonctionnelles et maintenues.
L’absence de l’App Store
Côté Apple, il sera donc impossible de faire référencer sa PWA dans l’App Store. En effet, la marque à la pomme a une politique très stricte : les PWA ne sont pas des applications mais des sites web et n’ont donc rien à faire sur l’App Store.
Les PWA promettent un développement unique et plus rapide que pour des applications mobiles en se basant les technologies Web. Sur le papier la promesse semble alléchante, mais dans la pratique l’hétérogénéité des navigateurs web sous Android multiplie les différences d’une version à une autre, au même titre que les applications natives. Les technologies Web sont également très permissives et pas toujours simples à stabiliser.
Par ailleurs, l’un des points fort des PWA est la rapidité de déploiement, le téléchargement au fur et à mesure de l’utilisation, ainsi que le référencement facilité. Ces trois points permettent une acquisition forte. Néanmoins, les applications mobiles ne sont pas en reste puisqu’elles proposent désormais des fonctionnalités similaires.
Bien qu’elles tendent à ressembler à des applications natives, les PWA souffrent toujours d’une expérience utilisateurs limitée et très axée Web (scroll, clic-effect, …). Les fonctionnalité “poussées” (comme le Bluetooth, les Geofencing, l’intégration avec Google Fit / Apple Health, etc.. ) ne sont, aujourd’hui, toujours pas accessibles pour les PWA, surtout sur iOS.
Ne répondent pas au même besoin, une PWA et une application native ne doivent pas être simplement opposée au moment de lancer son projet de développement d’application mobile. Le périmètre fonctionnel, l’usage souhaité et l’environnement technique du projet doivent vous indiquer naturellement vers le bon choix à faire. De plus, une PWA peut être complémentaire à une application native. En effet, certaines applications font des ponts entre leur PWA et leur version mobile native. C’est le cas par exemple de 20Minutes : un utilisateur qui voudra lire un article depuis la PWA aura le choix d’ouvrir ce dernier également dans l’application mobile.
PWA et application mobile ne s’opposent donc pas !
Le choix entre PWA et application native dépend majoritairement des fonctionnalités attendues et futures. La PWA n’a pas vocation à remplacer l’application native mais va venir en complément de celle-ci.
En effet, l’utilisation d’une application native sera recommandée si votre application nécessite :