Faut-il développer une PWA ?
Faut-il, en 2020, lancer son projet d’application mobile, avec la norme Progressive Web App ? Est-elle pérenne ? Est-elle stable ? Et surtout répond-t-elle aux besoins de mon marché ? Offre-t-elle un service et une expérience utilisateur à la hauteur des applications natives ?
En 2017 déjà, nous parlions du réseau social Twitter qui transformait son site mobile en vraie PWA : Twitter Lite. Ce site web propose des fonctionnalités similaires à celles d'une application mobile comme les notifications push. La tendance prenant de l'ampleur, il est temps de faire un point complet des enjeux et des possibilités des PWA.
Le coût technique des PWA
On aura bien compris qu’une PWA est une application mobile, destinée en premier lieu aux utilisateurs de smartphones. Il s’agit de délivrer un service, un outil, immédiatement accessible parmi toutes les apps de notre quotidien. Par ailleurs, vous vous demandez sans doute pourquoi et quand développer une application mobile ? Lisez notre article sur le sujet !
La première promesse de la norme PWA s’adresse d’ailleurs moins aux utilisateurs qu’aux concepteurs, développeurs et éditeurs d’application. Il s’agit d’offrir une alternative à la complexité technique, et de fait au coût élevé, d’une application native, tout en atteignant aux objectifs que l’on attend d’une telle application : performance, immersion, notamment pas les notifications push et la disponibilité « hors connexion », fonctionnalités, intégration des capacités du smartphone (appareil photo, géolocalisation, appels téléphoniques, gyroscope, …).
Pour faire simple, développer une PWA, c’est réaliser une application mobile avec des technologies « abordables » : celles du web, en l’occurrence HTML5, CSS3, et JavaScript. On comprend bien l’avantage économique quand ces technologies requièrent des compétences bien moins rares que celles des applications natives (Swift, Objective C, Java Android) ou même des technologies « hybrides » comme React Native, Ionic ou Cordova.
Le coût total de possession (TCO) d’une PWA serait ainsi bien moindre que celui d’une application native ou deux... En effet, il faut souvent développer et maintenir deux projets cibles, pour iOS et Android, multipliant ainsi le coût de développement, mais aussi de maintenance, de distribution…
Référencer sa PWA hors des stores d’application
Par ailleurs cette problématique de « distribution » est aussi importante que l’aspect technique. Si l’on a pris la peine de réaliser une PWA qui offre un service de qualité et une très bonne expérience utilisateur, il n’en reste pas moins qu’il faut la faire adopter par les utilisateurs.
Traditionnellement, les applications mobiles sont accessibles par les stores uniquement. AppStore, Google Play, et Microsoft Store ont l’exclusivité de la distribution des apps pour leurs terminaux respectifs. N’est-ce donc pas une limite des PWA que de ne pas être distribuées via ces plateformes ? Les utilisateurs, les clients potentiels, ne vont-ils pas passer à côté ? En effet, les PWA ne sont pas distribuées par les stores, mais par le web. On atteint une URL avec son navigateur mobile, et l’on est invité à installer l’application qui sera dès lors disponible, sur son smartphone, comme une application tout à fait « classique ».
On peut à l’inverse penser que ce mode de distribution est un véritable avantage marketing. Les usages du web, notamment des moteurs de recherche, et les réseaux sociaux, permettent une meilleure finesse marketing que les stores d’application. Promouvoir une PWA offre bien plus de possibilités que de référencer une application native dont l’écosystème est, il faut le constater, déconnecté du web et donc des moteurs de recherche, des réseaux sociaux... Les PWA elles, ont une véritable existence sur le web contrairement aux applications natives.
Il faut toutefois noter que Google Play et Microsoft Store font une place à part entière aux PWA. Cela permet donc d’accéder également à ce mode de distribution complémentaire, au prix toutefois d’un effort technique supplémentaire. L’AppStore d’Apple reste cependant entièrement fermé aux PWA. Certains trouveront dans les technologies hybrides telles que Cordova une façon de contourner le problème. Mais ceci à un coût technique également. Ce n’est qu’un workaround et pas une solution complètement satisfaisante.
En termes de réussite du projet d’application, et de son adoption par les utilisateurs, le look & feel est primordial. Pas de limites en termes d’UX, d’UI et de direction artistique : les technologies du web permettent d’être au top de l’ergonomie et des tendances graphiques. Les performances des PWA sont aussi au rendez-vous. Les temps de chargement et la réactivité des interfaces sont très proches d’une application native. Dans la majeure partie de cas, la différence est imperceptible. On peut donc réaliser un produit PWA tout à fait opérationnel et séduisant.
Notifications push : les limites des PWA sur iOS
Il existe hélas plusieurs limites aux PWA. Elles ont un impact fort sur un projet d’application et il convient de bien les mesurer.
Outre le « problème » de distribution hors des stores, il faut admettre que, sur les terminaux iOS, l’installation d’une application PWA n’est pas évidente. Dans un usage classique de l’iPhone, en navigant avec Safari par exemple, rien ne signale à notre attention une PWA et ses possibilités d’installation. Contrairement à Android qui propose une intégration tout à fait explicite.
Toujours sur iOS, il manque des fonctionnalités auxquelles les applications natives ont accès : l’intégration de SIRI, le gyroscope, … L’intégration de l’appareil photo (un usage pourtant classique d’une application mobile) n’est pas aussi parfaite que dans une application native. Et ce qui manque encore plus, sur iPhone ou iPad, c’est la capacité d’une PWA à recevoir des notifications push (les PWA sur Android en sont tout à fait capables).
Apple doit s’aligner pour que la PWA soit un projet réaliste
Ce manque d’alignement d’Apple sur les principes de la technologie PWA reste problématique. Dans ce contexte, les PWA ne peuvent pas remplacer complètement les applications natives. Et par ailleurs, les technologies web inhérentes aux PWA peuvent atteindre des limites de performance quand il faut exploiter les ressources matérielles du smartphone (accélération 3D, gyroscope, …). Le choix technique de la PWA doit être fait en comparant point par point les avantages et les limites propres à cette technologie et celles des applications natives. Ou peut-être faut-il revenir à une définition plus stricte de « Progressive Web App » : il s’agit d’avantage d’une application web mobile progressivement améliorée de capacités et de fonctionnalités (offline, push, installation, …) en fonction du contexte d’utilisation.
Quelques références à lire
Un point synthétique sur la nature et les capacités techniques des PWA : https://ymedialabs.com/progressive-web-apps
Cet article traite de la problématique des notifications push sur iOS et des potentielles ouverture dans le futur : https://www.pushpro.io/blog/web-push-notifications-for-ios