Que sont les progressive web apps ?

Le Web est une plate-forme incroyable. Son omniprésence sur les appareils et les systèmes d'exploitation, son modèle de sécurité centré sur l'utilisateur et le fait que ni ses spécifications ni son implémentation ne sont contrôlés par une seule entreprise font du Web une plate-forme unique pour le développement de logiciels. Associée à sa capacité de liaison inhérente, elle vous permet d'effectuer des recherches et de partager ce que vous avez trouvé avec qui vous voulez, où que vous soyez. Chaque fois que vous consultez un site Web, celui-ci est à jour, et votre expérience sur ce site peut être aussi éphémère ou permanente que vous le souhaitez. Avec un seul codebase, les applications Web peuvent toucher tous les utilisateurs, partout et sur n'importe quel appareil.

Les applications propres à une plate-forme sont connues pour être incroyablement riches et fiables. Ils sont toujours présents, sur les écrans d'accueil, les quais et les barres des tâches. Elles fonctionnent quelle que soit la connexion réseau. Elles se lancent dans leur propre expérience autonome. Ils peuvent lire et écrire des fichiers à partir du système de fichiers local, accéder au matériel connecté via USB, port série ou Bluetooth, et même interagir avec les données stockées sur votre appareil, telles que les contacts et les événements d'agenda. Dans ces applications, vous pouvez par exemple prendre des photos, lire des titres listés sur l'écran d'accueil ou contrôler la lecture de titres depuis une autre application. Les applications spécifiques à une plate-forme ont l'impression de faire partie de l'appareil sur lequel elles s'exécutent.

Graphique illustrant les capacités et la couverture relatives des applications spécifiques à la plate-forme (avec des fonctionnalités élevées), des applications Web à forte audience et des progressive web apps (avec des capacités élevées et une large couverture).
Fonctionnalités et portée des applications Web, des progressive web apps et des progressive web apps spécifiques à une plate-forme.

Si vous pensez aux applications et applications Web spécifiques à une plate-forme en termes de capacités et de portée, les applications propres à une plate-forme représentent les meilleures capacités, tandis que les applications Web représentent la portée maximale. Quelle est donc la place des progressive web apps ?

Les progressive web apps (PWA) sont conçues et améliorées avec des API modernes pour offrir des capacités, une fiabilité et une installation améliorées, tout en permettant d'atteindre tous les utilisateurs, n'importe où, sur n'importe quel appareil à l'aide d'un seul codebase.

Les trois piliers de l'application

Les progressive web apps sont des applications Web conçues pour être performantes, fiables et installables. Ces trois piliers les transforment en une expérience semblable à une application spécifique à une plate-forme.

Compétente

Aujourd'hui, le Web est assez performant à lui seul. Par exemple, vous pouvez créer une application de chat vidéo hyperlocalisée à l'aide de WebRTC, de la géolocalisation et des notifications push. Vous pouvez rendre cette application installable et rendre ses conversations virtuelles avec WebGL et WebVR. Avec le lancement de WebAssembly, les développeurs peuvent exploiter d'autres écosystèmes, tels que C, C++ et Rust, et apporter des décennies de travail et de fonctionnalités au Web. Squoosh.app, par exemple, l'utilise pour sa compression d'image avancée.

Jusqu'à récemment, seules les applications propres à une plate-forme pouvaient réellement bénéficier de ces fonctionnalités. Bien que certaines fonctionnalités soient encore hors de portée du Web, les nouvelles API et celles à venir cherchent à changer cela, étendant ce que le Web peut faire avec des fonctionnalités telles que l'accès au système de fichiers, les commandes multimédias, les badges d'application et la prise en charge complète des presse-papiers. Toutes ces fonctionnalités s'appuient sur le modèle d'autorisations Web sécurisé et centré sur l'utilisateur. Ainsi, accéder à un site Web n'est jamais effrayant pour les utilisateurs.

Entre les API modernes, WebAssembly et les API nouvelles et à venir, les applications Web sont plus performantes que jamais, et ces capacités ne font que croître.

Fiable

Une progressive web app fiable semble rapide et fiable quel que soit le réseau.

La rapidité est essentielle pour inciter les utilisateurs à utiliser votre expérience. En effet, lorsque le temps de chargement d'une page passe de 1 à 10 secondes, la probabilité qu'un utilisateur la quitte augmente de 123%. Les performances ne s'arrêtent pas après l'événement onload. Les utilisateurs ne doivent jamais se demander si leur interaction (par exemple, un clic sur un bouton) a été enregistrée ou non. Le défilement et l'animation doivent être fluides. Les performances affectent l'ensemble de l'expérience utilisateur, de la perception de votre application aux performances réelles.

Enfin, les applications fiables doivent être utilisables quelle que soit la connexion réseau. Les utilisateurs s'attendent à ce que les applications démarrent lorsque la connexion réseau est lente ou irrégulière, ou même hors connexion. Ils s'attendent à ce que le contenu le plus récent avec lequel ils ont interagi, comme les pistes multimédias, les billets et les itinéraires, soit disponible et utilisable, même s'il est difficile de recevoir une requête auprès de votre serveur. Lorsqu'une requête n'est pas possible, ils s'attendent à ce qu'ils soient informés des problèmes au lieu d'échouer sans notification ou de planter.

Les utilisateurs méritent des applications qui réagissent en un clin d'œil à une expérience sur laquelle ils peuvent compter.

Installation

Les progressive web apps installées s'exécutent dans une fenêtre autonome au lieu d'un onglet de navigateur. Ils peuvent être lancés depuis l'écran d'accueil, le dock, la barre des tâches ou l'étagère de l'utilisateur. Il est possible de les rechercher sur un appareil et de passer de l'un à l'autre avec le sélecteur d'applications, ce qui leur donne l'impression de faire partie de l'appareil sur lequel ils sont installés.

De nouvelles fonctionnalités s'ouvrent après l'installation d'une application Web. Les raccourcis clavier, généralement réservés lors de l'exécution dans le navigateur, deviennent disponibles. Les progressive web apps peuvent s'inscrire pour accepter du contenu provenant d'autres applications ou pour être l'application par défaut pour gérer différents types de fichiers.

Lorsqu'une progressive web app sort d'un onglet et passe dans une fenêtre d'application autonome, elle transforme la façon dont les utilisateurs y pensent et interagissent avec elle.

Le meilleur des deux mondes

Les progressive web apps sont essentiellement des applications Web. Grâce à l'amélioration progressive, de nouvelles fonctionnalités sont disponibles dans les navigateurs modernes. À l'aide de service workers et d'un fichier manifeste d'application Web, votre application Web devient fiable et peut être installée. Si les nouvelles fonctionnalités ne sont pas disponibles, les utilisateurs bénéficient tout de même de l'expérience principale.

Les chiffres ne mentent pas ! Les entreprises qui ont lancé des progressive web apps ont obtenu des résultats impressionnants. Par exemple, Twitter a enregistré une augmentation de 65% du nombre de pages par session, 75% de nouveaux tweets et une diminution de 20% du taux de rebond, tout en réduisant la taille de son application de plus de 97%. Après être passé à une PWA, Nikkei a enregistré 2, 3 fois plus de trafic généré par les résultats naturels, 58% d'abonnements et 49% d'utilisateurs actifs par jour en plus. Hulu a remplacé son expérience pour ordinateur spécifique à la plate-forme par une progressive web app, ce qui a entraîné une augmentation de 27% des visites répétées.

Les progressive web apps vous offrent une occasion unique de proposer une expérience Web qui plaira à vos utilisateurs. Basées sur les dernières fonctionnalités Web pour apporter des fonctionnalités avancées et une fiabilité accrue, les progressive web apps permettent d'installer le contenu que vous créez par n'importe qui, n'importe où, sur n'importe quel appareil, à l'aide d'un seul codebase.