On appelle ça les PWA, Progressive Web Apps, et on a été trop con. Je vous raconte.
Le smartphone moderne est une invention d’Apple avec le premier iPhone. Pas besoin de tourner en rond avec des « oui mais ». Et le premier iPhone n’avait pas d’AppStore. La vision de Jobs et de ses ingénieurs, à l’époque, c’était que le navigateur web était suffisamment mature pour gérer une app.
Il y a eu un tollé. De la part des développeurs principalement, exigeant une manière de coder sur le nouvel appareil « en natif ». Des libristes un peu aussi, parce que « Apple nous castre et ne nous permet pas d’utiliser comme on le veut l’appareil qu’on achète ».
La solution a été l’AppStore. Le PlayStore de Google n’a fait que suivre. Et quasi 20 ans plus tard (la présentation des iPhones avec PWA c’était 2007), on se plaint de leur existence et on milite pour les inconnues et presque disparues PWA. On a été trop con.
Addendum 1 sur la technique : coder une PWA c’est un peu chiant sur quelques points (une fois évacués, le reste c’est du dev web classique) :
• Les notifications natives de l’appareil • Le fonctionnement hors ligne • Le setup général de l’application avec les headers et le manifest, Apple et Google ne demandant pas exactement la même chose pour permettre une PWA parfaite.
Mais une fois qu’on s’est sorti les doigts c’est très cool.
Addendum 2 technique : une alternative hybride existe aussi, on appelle ça la webview. Quand je faisais du dev web j’aimais bien les mettre en place en parallèle pour satisfaire le monde. En gros tu fabriques une app native pour le téléphone, mais qui n’est qu’un bébé squelette qui dedans va afficher ton application web. Certains frameworks permettent de remplacer certaines pages par des composants natifs de l’appareil et permettent de donner une impression totale d’app native.
Si vous êtes développeur en Rails, Hotwire c’est absolument dingue et génial.
Mais bref. Si vous faites du web, mettez en place des PWA et traitez-les comme des citoyens de première classe, pas comme une arrière-pensée de votre site pendant que vous pomponnez des apps natives.
Et sinon cartes.app c’est vraiment cool.