Les avantages et les limitations des PWA

Cet article est la suite de notre premier article « Tour d’horizon sur les PWA ».

Dans le premier article nous avons vu ce qui définissait les PWA, attardons nous maintenant sur les avantages et les limitations des PWA vis à vis de à leurs cousines les applications natives.

Les avantages

Une application web transformée en PWA grâce aux dernières technologies du web permet d’obtenir des avantages attrayants face aux applications natives.

1. Eviter la lourdeur des stores

Lorsque l’on développe une application native et que l’on souhaite la distribuer publiquement, l’hébergement dans un store est une étape inévitable.

Cette étape peut s’avérer fastidieuse et ce pour plusieurs raisons :

  • La plupart des stores imposent des règles strictes, parfois injustifiées et qui peuvent changer soudainement. Une application approuvée dans les stores peut se voir bannir dans le futur à cause de nouvelles politiques
  • Le temps de validation et de publication est plus ou moins long surtout sur l’AppStore
  • En fonction des stores, le coup d’hébergement peut varier mais reste néanmoins plutôt accessible

Avec les PWA nous gardons le contrôle de notre application (code source) et de sa distribution.

Pour terminer avec les stores de plus en plus de personnes sont atteintes du syndrome de « l’app fatigue ». Les applications sont maintenant omniprésentes dans nos vie, le nombre d’applications dans les stores est impressionnant, souvenez-vous du slogan d’Apple : « There’s an app for that ». Elles encombrent la mémoire de stockage et mémoire vive de nos périphériques, elles nous envoient régulièrement des notifications non souhaitées, demandent des autorisations trop intrusives. Les utilisateurs hésitent à installer une nouvelle application avec peu de valeur ajoutée qu’ils utiliseront certainement de façon éphémère.

Le site d’information TechCrunch rapporte que plus de 50% des utilisateurs US ne téléchargent aucune application par mois.

2. Utilisation immédiate

Les PWA permettent d’éviter un taux de rebond élevé en proposant une utilisation ultra rapide de l’application. En effet nous avons juste à ouvrir l’application via un lien web, un QR code, et nous pouvons directement l’utiliser. L’utilisateur pourra par la suite, et s’il le souhaite, ajouter cette application sur l’écran d’accueil de son smartphone pour la retrouver plus facilement.

Pour les applications natives le scénario est plus compliqué, il faut ouvrir le store, trouver l’application, la télécharger, l’installer, accepter les permissions et enfin l’utiliser.

A noter qu’Android permet maintenant de tester des applications sans les installer via les Instant App, mais ces dernières sont encore peu répandues.

3. Multiplateformes et réduction des coûts

Un des énormes avantages du web est qu’il peut fonctionner sur toutes les plateformes. « Write once, run everywhere », les PWA n’échappent pas à cette règle, un seul code source pour être multiplateforme. Les coûts de développement sont donc considérablement réduits vis-à-vis d’un développement natif classique.

A noter qu’il n’y a pas de disparité de version d’application, les mises à jour sont transparentes pour l’utilisateur final.

4. Légères et visibles

Les PWA consomment beaucoup moins d’espace de stockage que les applications natives. A titre de comparaison l’application de rencontre Tinder pèse plus de 30Mb sur Android alors qu’elle ne pèse à peine 3Mb en PWA une fois installée.

Comme nous avons vu précédemment les PWA peuvent être référencées comme des simples sites web classiques ce qui le permet d’avoir une visibilité importante et ainsi augmenter le trafic vers celui-ci.

Note : Depuis un peu plus d’un an maintenant, Google autorise la publication de PWA sur le PlayStore grâce au « Trusted Web Activity » afin de proposer une visibilité autre que sur le web.Certaines entreprises qui ont mis en place une PWA ont déjà engendrées de nombreux bénéfices :

  • Starbucks a augmenté son taux d’utilisateurs actifs par deux.
  • Twitter a augmenté son nombre de tweets de 75% par rapport à ses applications natives
  • La PWA d’Uber ne pèse que 50k ce qui lui permet de se charger en moins de 3 secondes on 2G.

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é.

Les limitations

1. Disparité des plateformes

Etant un site web, la PWA se doit d’être universelle, indépendante de l’OS (Android, Windows, iOS…) du terminal ou du navigateur.

Cependant, on remarque des disparités dans l’implémentation des API. Il sera donc indispensable de prévoir des solutions alternatives, ou tronquer simplement certaines fonctionnalités en fonction du support des navigateurs / versions de l’OS...

A titre d’exemple, iOS ne propose pas de bannière d’installation pour indiquer aux utilisateurs qu’ils peuvent installer l’application sur le bureau. Il faudra donc développer sa propre bannière si l’on souhaite un fonctionnement similaire entre iOS et Android.

Les web push notifications ne sont pas disponibles sur iOS contrairement à Android. Il faudra donc utiliser d’autres canaux (mail, sms…) pour notifier les utilisateurs de la pomme croquée.

2. Fonctionnalités avancées

Le web évolue à grande vitesse, de nouvelles API performantes apparaissent régulièrement et sont implémentées dans les navigateurs. Cependant et contrairement aux applications natives où nous ne sommes pas limités pour accéder aux périphériques du terminal (NFC, Bluetooth), mais aussi des fonctionnalités spécifiques (contacts, push notification…), les PWA ont certaines contraintes.

Il est actuellement difficile voire impossible d’utiliser des fonctionnalités de géofencing, NFC, d’accéder aux contacts du téléphone, d’authentification par empreinte digitale…

De plus il ne faut pas oublier que les PWA sont construites avec des technologies web, ce qui ne leur permet pas d’utiliser pleinement la totalité des ressources de la machine pour des traitements lourds, jeux 3d, réalité virtuelle, animations gourmandes…

3. Education des utilisateurs

Bien qu’il existe depuis 2015 le concept de PWA est relativement récent. Pour la majorité des utilisateurs, installer une application est synonyme de passer par le store d’applications. Il faudra encore un peu de temps avant que les utilisateurs aient le réflexe d’ajouter un site web sur l’écran d’accueil de leur périphérique pour l’installer.

Pour conclure

Nous avons vu que les PWA permettent d’offrir aux utilisateurs visitant des sites web compatibles, une expérience mobile proche de celle d’une application native tout en évitant certaines contraintes de ces dernières.  Afin d’offrir la meilleure expérience possible aux utilisateurs,  il faudra prendre soin de s’adapter aux différentes disparités des navigateurs, OS tout en gardant à l’esprit que certaines fonctionnalités avancées ou consommatrices de ressources doivent être laissées aux applications natives.

« Parier sur le web ne peut pas être un mauvais choix »

Si vous souhaitez en savoir plus, n'hésitez pas à nous contacter.

Simon MAHE - Développeur Mobile