Pourquoi choisir une Progressive Web App ? Pour quels projets d’application ?

En quelques années les Progressive Web Apps (ou PWA) ont réussi à se développer une part non négligeable dans l’univers du développement d’application. Une progressive web app (ou PWA) est une application web développée avec des langages de développement web (HTML5, CSS3, JavaScript…) et exécutée depuis un navigateur web. Son fonctionnement se veut très proche de ce que pourrait proposer une application classique.

Découvrez dans cet article dédié aux PWA, leurs avantages, inconvénients et les différences à faire avec une application mobile native.

Définition d’une Progressive Web App

Une Progressive Web App est une application web optimisée pour l’utilisation sur mobile en y proposant une expérience qui se veut proche des applications mobiles natives. Une PWA peut et incluant des fonctionnalités d’habitude dédiée aux applications natives.

Elles s’exécutent depuis un navigateur web et les fonctionnalités chargées sont gardées en cache pour une utilisation future hors-ligne. Une application PWA pourra être utilisée en mode hors connexion par l’utilisateur conférant ainsi un atout indéniable.

Pour bien comprendre la différence entre application mobile native et PWA, il faut garder en tête qu’une application mobile se télécharge depuis un store tel que l’App Store ou le Play Store. Une PWA ne nécessite aucun téléchargement et est accessible depuis un navigateur web.

Elles utilisent des Services Workers – des scripts qui fonctionnent en parallèle de la page web – pour exploiter certaines fonctionnalités natives de l’appareil et ainsi proposer des fonctionnalités d’usage poussées.

Ce nouveau standard web est porté par Google. Les PWA répondent à tout une checklist précise que vous pourrez retrouver la plateforme dédiée aux développeurs.

Quelques exemples de PWA  

twitterTwitter Lite

Le réseau social Twitter s’est doté d’une Progressive Web App avec pour ambition de fluidifier l’usage sur mobile de la plateforme tout en gagnant en performance grâce à une consommation bien plus faibles de données, un usage renforcé en cas de réseau faible (3G). Largement moins volumineuse que la version native avec seulement 3MO de stockage nécessaire sur votre smartphone.

Découvrez Twitter Lite

journal l'équipe.frL’Équipe.fr

Le premier média sportif français est le premier dans le secteur de la presse à avoir fait le pari d’une Progressive Web App pour son site mobile. Ce projet était au coeur d’un gros projet de refonte de leur plateformes digitales. Découvrez le REX de ce projet de PWA par le CTO de L’Équipe, Raphaël Dardeau.

Les avantages des Progressive Web Apps

Les Progressive Web App sont présentées par Google comme des “Websites that took all the right vitamins” ou des sites web survitaminés qui présentent de nombreux avantages pour les marques qui décideraient d’en déployer.

Le déploiement instantané

Au même titre qu’un site web (puisqu’une PWA est un site web), il suffit de faire la mise à jour sur le serveur pour déployer la PWA. Par ailleurs, elles peuvent être ajoutées au PlayStore en version beta. Ainsi, elle peut être visible au travers de recherche sur le store. 

L’accès rapide

À l’instar d’un site web standard, il n’y a pas besoin de télécharger toute l’application pour en profiter. Elle peut aussi être ajoutée sur la home en y créant un lien avec une icône app. La PWA pourra ainsi être accessible comme une application native depuis l’écran du smartphone sans passer par une recherche sur le navigateur. Enfin elle est consultable hors-ligne.

Le référencement

Les PWA étant des sites web, elles profitent donc des mêmes possibilités de référencement sur les moteurs de recherches. 

L’effet mobile-like

L’application tend à ressembler le plus possible à une application native : icône sur la home, design, fonctionnalités… Certaines fonctionnalités natives du smartphone peuvent être reprises par une PWA comme l’accès à l’appareil photo, la géolocalisation ou encore le micro.

Les inconvénients des Progressive Web Apps

Des fonctionnalités limitées

Si une PWA peut bénéficier de certaines fonctionnalités liées aux applications natives, l’accès aux fonctionnalités du device mobile reste limité à un sous-ensemble.

Par exemple, certaines fonctionnalités ne sont pas disponibles, comme  :

  • la connexion au Bluetooth
  • les notifications push sur iOS
  • les fonctionnalités innovantes (liées par exemple au Machine Learning, Réalité Augmentée)
  • Les fonctionnalités background
  • Les extensions (Siri, widget, quick action, watch, etc.)

Un support incomplet

Les PWA sont généralement utilisables sur la plupart des navigateurs modernes, mais pas les anciennes versions. Des utilisateurs n’ayant pas mis à jour leur navigateur ne pourront donc pas y accéder. De plus, les fonctionnalités disponibles ne sont pas les mêmes d’un navigateur à un autre. Google Chrome possède par exemple un panel de fonctionnalités plus larges que d’autres navigateurs. Cela offre plus de possibilités d’interactions avec votre PWA que d’autres navigateurs plus restreints.

Imitation de l’UX et UI

Lors du développement d’une application mobile native, les guidelines de l’OS (Android ou iOS) sont précises et cadrent l’interface en matière d’ergonomie et de design pour une lecture mobile optimisée. Le web a un champ des possibles plus large et moins encadré. De ce fait, les PWA ont un risque de présenter une ergonomie pas toujours adaptée au mobile (boutons trop petit, rendu différent selon le téléphone…) si la phase de design et de conception n’est pas travaillé correctement.

Les technologies Web

L’application est développée en Javascript, qui apporte ses avantages mais aussi ses inconvénients. Le langage Javascript étant plus permissif et moins robuste, il peut être une source de bugs. L’écosystème JavaScript est également très volatile et requiert une forte maintenance pour garder l’utilisation de librairies fonctionnelles et maintenues.

L’absence de l’App Store

Côté Apple, il sera donc impossible de faire référencer sa PWA dans l’App Store. En effet, la marque à la pomme a une politique très stricte : les PWA ne sont pas des applications mais des sites web et n’ont donc rien à faire sur l’App Store.

Doit-on privilégier les PWA aux applications natives ?

Les PWA promettent un développement unique et plus rapide que pour des applications mobiles en se basant les technologies Web. Sur le papier la promesse semble alléchante, mais dans la pratique l’hétérogénéité des navigateurs web sous Android multiplie les différences d’une version à une autre, au même titre que les applications natives. Les technologies Web sont également très permissives et pas toujours simples à stabiliser.

Par ailleurs, l’un des points fort des PWA est la rapidité de déploiement, le téléchargement au fur et à mesure de l’utilisation, ainsi que le référencement facilité. Ces trois points permettent une acquisition forte. Néanmoins, les applications mobiles ne sont pas en reste puisqu’elles proposent désormais des fonctionnalités similaires.

Bien qu’elles tendent à ressembler à des applications natives, les PWA souffrent toujours d’une expérience utilisateurs limitée et très axée Web (scroll, clic-effect, …). Les fonctionnalité “poussées” (comme le Bluetooth, les Geofencing, l’intégration avec Google Fit / Apple Health, etc.. ) ne sont, aujourd’hui, toujours pas accessibles pour les PWA, surtout sur iOS.

Ne répondent pas au même besoin, une PWA et une application native ne doivent pas être simplement opposée au moment de lancer son projet de développement d’application mobile. Le périmètre fonctionnel, l’usage souhaité et l’environnement technique du projet doivent vous indiquer naturellement vers le bon choix à faire. De plus, une PWA peut être complémentaire à une application native. En effet, certaines applications font des ponts entre leur PWA et leur version mobile native. C’est le cas par exemple de 20Minutes : un utilisateur qui voudra lire un article depuis la PWA aura le choix d’ouvrir ce dernier également dans l’application mobile.

PWA et application mobile ne s’opposent donc pas !

Quel choix de technologie faire?

Le choix entre PWA et application native dépend majoritairement des fonctionnalités attendues et futures. La PWA n’a pas vocation à remplacer l’application native mais va venir en complément de celle-ci.

En effet, l’utilisation d’une application native sera recommandée si votre application nécessite :

  • l’utilisation de fonctionnalités natives du téléphone telles que les pushs, le bluetooth, le geofencing, le Machine Learning, la Réalité Augmentée, les widgets, quick-actions…
  • la communication avec d’autres applications telles que Google Fit / Apple Health, Calendar, Home Kit, Apple Music, …
  • une expérience utilisateur accrue
  • un design exploitant à fond les designs et animations natifs des OS Android et iOS.

Nous espérons que vous y voyez maintenant un peu plus clair sur les possibles des Progressive Web Apps. Si vous avez un projet d’application et souhaitez de plus amples informations sur les technologies et les possibilités, contactez notre agence en développement d’application

Contenus Complémentaires

Auteur

Cédric Lead Tech Beapp

Co-fondateur de l’agence avec Anaïs et Yann, Cédric occupe le poste de Lead Developeur. Expert des technologies Apple, il intervient principalement lors de la phase des développements. Il est également référent technique pour les langages de développement hybrides. En tant que développeur mobile confirmé, il apporte toute son expertise sur le développement de vos applications, mais intervient également en amont sur des étapes de conseil en cadrage technique et fonctionnel ainsi que sur les étapes de mise en production.

SUIVEZ-NOUS