Si en matière d’expérience utilisateur, les apps mobiles natives détenaient l’avantage sur les applications web, les progressive web apps (PWA), initialement mises en oeuvre par Google et Mozilla, sont en train de changer la donne. En effet, les PWA utilisent les meilleures technologies du web pour proposer des applications qui offrent une expérience utilisateur dépassant celle des apps mobiles. Et on commence à trouver des outils de développement pour les créer. « Beaucoup de grandes entreprises reviennent vers le web en raison de sa capacité à éliminer les frictions », explique Addy Osmani, responsable de l'ingénierie de l'équipe Chrome de Google, en citant notamment Lyft et Twitter.

« L'application web progressive de Twitter, Twitter Lite, pèse moins de 1 Mo, contre plus de 100 Mo pour son application native iOS et 23 Mo pour son application Android native », pointe Addy Osmani. L'application JavaScript côté client utilise moins de données, elle prend en charge les notifications push et peut fonctionner hors connexion. La clef de ces applications sont les service workers, un proxy côté client basé sur JavaScript qui permet à ces apps de se charger instantanément quel que soit l'état du réseau. Le service worker fonctionne comme un script d’arrière-plan dans le navigateur. De plus, les PWA pré-cachent les ressources les plus importantes afin de réduire leur dépendance au réseau.

Des outils open source comme Lighthouse ou Preact

Le responsable de l'ingénierie de l'équipe Chrome de Google reconnait que la technologie n’est pas encore complètement aboutie. Par exemple, le navigateur Safari d'Apple ne sait pas utiliser les service workers. Mais les développeurs web disposent désormais d’outils pour créer des applications web progressives. C’est le cas notamment de Lighthouse, un outil open source d'audit de performance, ou encore de Preact, une alternative légère (3K) à la bibliothèque React JavaScript UI. A noter que React peut aussi être utilisé pour les applications web progressives. Le site du projet « Hacker News readers as Progressive Web Apps » est un site de ressources de référence, sur lequel les développeurs peuvent trouver des exemples d'applications Web progressives utilisant des technologies comme Angular, React et Vue.js.