Logo Spiria

Les Progressive Web Apps

6 juillet 2017.

Est-ce que les Progressive Web Apps sont juste une mode en développement mobile, ou bien la preuve que le développement web mobile n’a pas dit son dernier mot face aux toutes puissantes applications natives ? Difficile à dire pour le moment, mais il vaut quand même la peine de s’y intéresser et de comprendre en quoi elles consistent.

Alors qu’il y a cinq ans, le développement d’applications mobiles natives était en pleine croissance, on constate maintenant que de moins en moins d’utilisateurs installent de nouvelles applications, et que les taux de rétention sont très bas. Le processus d’installation et la taille des applications sont souvent cités comme des facteurs qui rebutent souvent les utilisateurs qui visitent un site web leur proposant une application dédiée, surtout s’ils le visitent de façon occasionnelle.

C’est donc pour cela que depuis deux ans, l’expression Progressive Web App, abrégée en PWA, et qui se traduit en français par « Application web [à amélioration] progressive », se fait de plus en plus connaître parmi les développeurs mobiles, surtout grâce à l’impulsion donnée par Google lors de ses conférences et à la nouvelle technologie des Services Workers.

Qu’est-ce qu’une PWA ?

Il s’agit surtout d’une application que l’on peut retrouver sur le web, sans avoir besoin de l’installer sur son appareil. Ce qui la rend progressive, c’est qu’elle s’adapte selon l’appareil et le navigateur utilisés. Par exemple, si l’utilisateur visite l’application avec un vieux smartphone, il pourra s’en servir même si son appareil ne supporte pas les derniers standards web. Au contraire, si l’utilisateur possède un téléphone Android dernier cri, avec la dernière version de Chrome, il peut tirer pleinement avantage des Service Workers (une nouvelle technologie rajoutant plusieurs outils pour les applications web comme le stockage local et une personnalisation plus poussée du navigateur) et même utiliser l’application hors ligne. L’objectif des PWAs est donc d’offrir une application fonctionnelle à la plus grande audience, tout en proposant des fonctionnalités avancées pour ceux qui peuvent en profiter, sans impacter l’expérience des utilisateurs plus limités.

D’ailleurs, Google donne trois critères pour une bonne PWA : la fiabilité, la rapidité et le facteur immersif, tout ça dans le but d’inciter les utilisateurs à ajouter l’application sur leur écran d’accueil et à y retourner en offrant l’expérience la plus agréable possible. La fiabilité consiste à offrir une expérience indépendante de l’état du réseau, qui charge dès que l’application est lancée. La rapidité, elle, consiste en la vitesse (réelle ou perçue) de chargement, puisque la majorité des utilisateurs ont tendance à quitter un site web lorsqu’il prend plus de cinq secondes à charger. Finalement, le but de l’immersion est d’offrir en plein écran une expérience indistinguable d’une application native.

Progressive Web App. © Google.

Avantages et désavantages

Mais quels sont les avantages de réaliser une Progressive Web App ? Premièrement, comme il n’est pas nécessaire d’installer l’application, elle peut être distribuée avec une simple adresse URL, ce qui augmente le taux d’adoption et de rétention. Deuxièmement, vu qu’elles sont plus légères, c’est particulièrement avantageux dans les pays en voie de développement, où les réseaux cellulaires sont coûteux et moins fiables, ce qui peut rebuter à télécharger des applications pesant plusieurs dizaines de mégaoctets. Un des meilleurs exemples est Konga.com, un site d’e-commerce nigérien qui offre une expérience riche et fluide, même hors-ligne. Troisièmement, puisque l’application est essentiellement un site Web, le processus de mise à jour s’effectue de façon invisible pour l’utilisateur, qui ne dépend plus du magasin d’applications. Le nouveau code va simplement remplacer le vieux code lorsque l’application se connecte à l’Internet.

Cependant, il y a aussi des désavantages aux PWA. En premier lieu, étant donné qu’elles sont essentiellement des sites Web conçus avec les classiques HTML, JavaScript et CSS, elles sont limitées en terme de performance. Elles conviennent pour des applications simples pour lesquelles la différence avec les applications natives ne se fait pas sentir, mais pour des applications complexes, cela peut causer des problèmes. En deuxième lieu, la technologie des Service Workers, essentielle pour des applications web fonctionnant hors-ligne et utilisant le stockage local, n’est pas encore implémentée sur Safari pour le moment. Par conséquent, tous les utilisateurs d’iPhone n’ont pas accès à cette fonctionnalité pour l’instant. En troisième lieu, étant donné que les PWAs sont exécutées dans le navigateur par défaut du téléphone, elles n’ont pas accès à toutes les API du téléphone, comme celle Bluetooth par exemple. À noter que certaines API sont disponibles pour les navigateurs après avoir été autorisées par l’utilisateur, telles que le GPS, la caméra et le microphone.

Photo iStock.

Le futur du développement mobile ?

Pour conclure, peut-on déjà sonner le glas des applications natives ? Sûrement pas, étant donné la plus grande versatilité et puissance qu’elles offrent. Cependant, on peut s’attendre d’ici les prochaines années à ce que de plus en plus de compagnies enrichissent leur site web mobile pour en faire une Progressive Web App, surtout dans le domaine du magasinage en ligne, allant jusqu’à délaisser leurs applications natives existantes. Une fois que les Services Workers seront implémentés sur iPhone, les PWAs seront accessibles à un maximum d’utilisateurs mobiles, ce qui accélérera encore plus leur adoption. Si vous êtes sur le point de commencer un nouveau projet d’application mobile, je vous conseille donc de considérer sérieusement cette nouvelle technologie à l’avenir plus que prometteur.