Tout savoir sur les Progressive Web Apps

#Tech #Mobile #Développement mobile

En quelques années les Progressive Web Apps (ou PWA) ont envahi le marché du mobile. 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 (téléchargée depuis un store). On vous en dit plus dans cet article sur les PWA, leurs avantages, inconvénients et quelles différences faire avec une application native.

 

Les caractéristiques d’une Progressive Web App

 

Les PWA présentent des caractéristiques majeures : 

  •  Il s’agit d’un site web optimisé pour mobile et pensé pour ressembler à une application native.
  • 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 sans passer par un store d’applications.
  • Elles utilisent des Services Workers – des scripts qui fonctionnent en parallèle de la page web – pour exploiter certaines fonctionnalités de l’appareil (GPS, caméra, …).
  • Ce nouveau standard web est porté par Google.
  • Elles répondent à tout une checklist précise que vous pourrez retrouver  sur le lien suivant 

 

Quelques exemples de PWA : 

  • Le site et l’app PWA de 20Minutes
  • Le site et l’app PWA de Google IO

 

Les avantages des Progressive Web Apps

 

Les PWA sont présentées par Google comme des “Websites that took all the right vitamins” ou des sites web survitaminés qui présentent certains avantages.

 

Le déploiement instantané

Au même titre qu’un site web (puisque la PWA est un site web), il suffit de faire la mise à jour sur le serveur pour déployer la PWA. Par ailleurs, les PWA peuvent être ajoutées au PlayStore en version beta (et donc visibles et trouvables via une recherche).

 

L’accès rapide

À l’instar d’un site web standard, il n’y a pas besoin de télécharger toute l’application. Elle peut aussi être ajoutée sur la home (même si la manipulation n’est pas aussi facile que pour une application native) pour être accessible comme une application native. 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 (et il paraitrait que Google mettrait même en avant les sites PWA).

 

L’effet mobile-like

L’application tend à ressembler le plus possible à une application native : icône sur la home, design, fonctionnalités…

 

Les inconvénients des Progressive Web Apps

 

Des fonctionnalités limitées

L’accès aux fonctionnalités du device reste limité à un sous-ensemble.

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

  • le Bluetooth
  • les push sur iOS
  • les fonctionnalités innovantes (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. De plus, les fonctionnalités disponibles ne sont pas les mêmes d’un navigateur à un autre : les fonctionnalités seront plus larges sur Chrome, par exemple (la technologie étant portée par Google).

 

Imitation de l’UX et UI

Lors du développement d’une application native, les guidelines données sont précises et cadrent l’interface pour une lecture mobile optimisée. Le web a un champ des possibles plus large et moins encadré, cela engendre pour les PWA des possibles erreurs, comme une ergonomie pas toujours adaptée au mobile (boutons trop petit, rendu différent selon le téléphone…).

 

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, donc n’ont 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.

 

Un peu compliqué de déclarer qu’il faut privilégier les apps natives ou les PWA car elles répondent simplement à un besoin différent et peuvent même être complémentaires. En effet, certaines applications font des ponts entre la PWA et l’application 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 (entre-autre) 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

 

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-nous ! 

 

 

Ces articles peuvent vous intéresser

Mobile One : toucher un nouveau public grâce aux applications Lite

22 novembre 2019

Les 13 et 14 novembre dernier se tenait le salon Mobile One , le rendez-vous européen du mobile. A cette...

Lire l'article

iOS 13 : quoi de neuf pour vos apps ?

19 juin 2019

Lors de la Worldwide Developers Conference, son évènement à destination des développeurs, Apple a...

Lire l'article