Bien comprendre les Progressive Web Apps

On va beaucoup en parler, voilà de quoi suivre les discussions.

Le blog Makina-corpus

On va beaucoup en parler, voilà de quoi suivre les discussions.

Note : nous proposons désormais une formation aux Progressive Web Apps.


Chez Makina Corpus, nous faisons du mobile, mais ce que nous aimons par dessus tout, c'est le web. C'est pourquoi nous utilisons Cordova et Ionic pour porter les applications de nos clients sur les stores Android et iOS.

N.B. React Native ou des solutions comme NativeScript nous plaisent un peu moins, car bien qu'elles utilisent des langages connus des développeurs Web, nous sortons du Web et nous n'avons plus accès à notre Web API que nous aimons tant.

Native versus Web App

Pour autant, malgré tous nos efforts, les Web Apps ne fournissent pas tout à fait la même expérience que les applications hybrides :

« C'était quoi déjà l'url de la Web App pour trouver une radio ? »

« Ah mince, j'ai pas de réseaux, je peux pas voir le numéro de téléphone. »

« Oh, elle est jolie cette App, mais qu'est-ce qu'elle rame ! »

Cordova permet déjà de créer une presque application native. Elle peut être déployée sur les stores. Elle peut utiliser les fonctionnalités du téléphone : appareil photo, boussole, gps, …

Oh wait…

Ces fonctionnalités existent déjà dans le Web. Vous avez déjà vu ce genre de notifications dans votre navigateur ?

Et le Web ne cesse d'évoluer pour permettre à tout le monde et tous les périphériques d'en profiter, pour le pire ou pour le meilleur.

Et c'est à ce moment là qu'on peut commencer à parler des Progressive Web Apps.

Progressive Web Apps

Ceci est une révolution ? Pas vraiment. Mais nous pouvons quand même accepter un véritable changement de paradigme en associant plusieurs technologies Web afin de passer l'expérience utilisateur au niveau supérieur.

Une Progressive Web App est une Web App qui va associer le meilleur du web avec le meilleur des applications natives.

Prenons un exemple.

Un utilisateur découvre pour la première fois votre application dans un onglet de son navigateur préféré, hyper accessible puisqu'aucune installation n'est requise. Plus l'utilisateur va utiliser l'application qui lui rend pas mal de services, plus elle va être agréable à utiliser : chargement rapide, même sur un réseau moyen, envoi de notification utile, disponible directement depuis la page d'accueil du téléphone et expérience améliorée puisqu'elle prend désormais toute la place disponible dans l'écran sans les bordures du navigateur.

Ainsi on pourra dire qu'une Progressive Web App c'est :

  • Chargement instantané : grâce au Service Worker, l'accès au réseau devient optionnel ;
  • Rapidité : comme une application native, l'application doit afficher 60 FPS (Frame Per Second) grâce aux possibilités offertes pour gérer les animations, la navigation et les défilements ;
  • Notification Push : la Notification API Notification et la Push API permettent de forger l'engagement de l'utilisateur en leur proposant des notifications contextuelles et adéquates et en mettant à jour l'application sans action de l'utilisateur (l'utilisateur reçoit une notification pour l'informer qu'un nouveau message est disponible dans son réseau social) , et ce, même si le navigateur est fermé (grâce au Service Worker) ;
  • Responsive : l'utilisateur accède à votre application par différents périphériques, votre application doit faire de même et suivre l'utilisateur sur son téléphone, sa tablette ou son ordinateur (voire sa montre) ;
  • Sécurisée : les données de l'utilisateur sont précieuses et il faut s'en occuper comme il se doit. L'utilisation de HTTPS est indispensable pour le Service Worker, et aussi pour les Progressive Web Apps ;
  • Disponible sur l'écran d'accueil : votre application doit être proche de l'utilisateur, il doit pouvoir y accéder depuis l'écran d'accueil de son téléphone, comme une application native. C'est à ça que le Web App Manifest va servir.

La révolution

Vous avez pu vous rendre compte que chaque élément de la liste ci-dessus pointe vers une documentation. Si certaines technologies sont en cours de finalisation, elles sont toutes au moins validées par le W3C. Ce sont donc bien des technologies, non pas de demain, mais de tout à l'heure.

On parle encore peu de Progressive Web Apps. Pourtant, chez Makina Corpus, nous sommes convaincus des qualités du Web et nous commençons déjà à prendre en compte cette évolution.

Comme à chaque fois, la meilleure façon de comprendre est d'essayer avec une application prototype. Google, le responsable d'Android, fournit un guide très complet duquel vous pouvez suivre les directives pour créer votre première Progressive Web App. Et lorsque vous aurez besoin d'un backend pour servir vos données, jetez donc un œil à Kinto, un serveur de données à API REST, qui, associé à Kinto.js (ou Kinto-browser.js), sera `le parfait allié de votre Progressive Web App.

Pour aller plus loin


Illustration : Rocher à tête d'éléphant, Enguerran Colson

Formations associées

Mobile

Progressive Web App - PWA

Aucune session de formation n'est prévue pour le moment.

Pour plus d'informations, n'hésitez pas à nous contacter.

Voir la formation

Actualités en lien

Image
GR3 Voie de Tours St Jacques de Compostelle
23/09/2021

Evénement « Présentation du projet GeoCompostelle » et de l’application GeoSentier

Makina Corpus et ses partenaires présentent le projet collaboratif GeoCompostelle à l’Hôtel de Région Occitanie à Toulouse le 27 septembre à 15h, première utilisation concrète de GeoSentier.

Voir l'article
Image
Open Source Experience 2021
21/09/2021

Makina Corpus acteur de l'Open Source Experience 2021 !

L’équipe Makina Corpus vous accueille sur son stand C25a à l’Open Source Expérience au Palais des congrès à Paris les 9 et 10 novembre 2021 : « Le rendez-vous européen de la communauté Open Source ». Vous pourrez également participer aux quatre conférences de nos experts.

Voir l'article
Image
RRLL21
16/09/2021

Makina Corpus au côté d'Alliance Libre pour organiser les Rencontres Régionales du logiciel libre 2021 (RRLL) à Nantes

Makina Corpus impliquée dans l'organisation de l'événement des Rencontres Régionales du Logiciel Libre 2021 à Nantes.
Sponsorisées par Nantes Métropole à travers la Nantes Digital Week, les Rencontres Régionales du Logiciel Libre sont organisées par Alliance Libre regroupant les entreprises du libre basées en Pays-de-La-Loire et Ile-et-Vilaine et Makina Corpus qui participe activement depuis 20 ans aux réseaux de l'open source.

Voir l'article

Inscription à la newsletter

Nous vous avons convaincus