Faut-il plutĂŽt une application mobile ou application web progressive (PWA)? Et si je choisis une application mobile, faut-il que je privilĂ©gie une version native ou hybride? Quels sont les avantages et les inconvĂ©nients de chaque type d’application? Quelle sera la meilleure solution pour atteindre mes objectifs commerciaux et satisfaire mes utilisateur∙rice∙s, tout en restant facile Ă  mettre Ă  jour et Ă  un prix raisonnable?

Autant de questions lĂ©gitimes que nous posent chaque jour de nombreux chefs d’entreprise, pour certains rapidement dĂ©passĂ©s, voire carrĂ©ment dĂ©couragĂ©s dans leur projet d’application. Tout dĂ©pend des prioritĂ©s et ambitions de chacun∙e. Il n’existe pas de solution unique et universelle.

Dans cet article, nous prĂ©senterons l’option la mieux adaptĂ©e Ă  chaque situation. En nous basant sur l’exemple concret de OneDoc, qui nous a demandé de concevoir son application mobile. Mais avant cela, quelques dĂ©finitions.

Qu'est-ce qu'une Progressive Web App (PWA)?

La technologie PWA a Ă©tĂ© lancĂ©e en 2015 par Google afin d’amĂ©liorer l’expĂ©rience web mobile. Des frameworks JavaScript modernes sont utilisĂ©s pour crĂ©er des PWA dans le but de proposer une expĂ©rience presque native qui peut ĂȘtre utilisĂ©e immĂ©diatement sur un appareil mobile. Les PWA sont une sorte de mix entre site web responsive et application mobile. Conçues et dĂ©veloppĂ©es comme un site web, elles offrent une expĂ©rience digne d’une application lorsqu’elles sont consultĂ©es sur un appareil mobile. Les utilisateur∙rice∙s peuvent mĂȘme crĂ©er un raccourci sur leur Ă©cran d’accueil pour y accĂ©der plus facilement, si bien que les PWA ressemblent Ă  s’y mĂ©prendre Ă  des applications.

Qu'est-ce qu'une application native?

Les applications mobiles natives reposent sur une plateforme et utilisent des langages de programmation spĂ©cifiques aux plateformes. Ce afin de crĂ©er des programmes adaptĂ©s sur mesure Ă  un systĂšme d’exploitation donnĂ©. Les applications natives sont dĂ©veloppĂ©es avec les langages de programmation de chaque plateforme (Objective-C et Swift pour iOS et Java pour Android), tandis que les PWA se servent de HTML, CSS et JavaScript.

Qu'est-ce qu'une application hybride?

Une application hybride est une application dotĂ©e d’une base de code native. Il s’agit donc d’une « vraie » application (contrairement Ă  la PWA). Elle peut ĂȘtre publiĂ©e dans des boutiques, apparaĂźt dans les rĂ©glages du tĂ©lĂ©phone, etc. Cette base native est gĂ©nĂ©ralement invisible pour les dĂ©veloppeur∙euse∙s d’application, qui peuvent coder dans un autre langage.

Exemples :

  • Cordova: crĂ©e une application native (soit Android, soit iOS) qui se compose seulement d’une vue web (c’est-Ă -dire une vue qui interprĂšte Javascript). Le∙La dĂ©veloppeur∙euse code uniquement ce que cette vue contient.
  • Flutter: pas de Javascript ni de vue web. Le framework Flutter crĂ©e une application native (soit Android, soit iOS) qui contient uniquement une vue OpenGL. Chaque Ă©lĂ©ment codĂ© par le∙la dĂ©veloppeur∙euse est transposĂ© dans cette vue.

Lors du dĂ©veloppement d’une application hybride, le code n’est Ă©crit qu’une fois et peut ĂȘtre rĂ©utilisĂ© dans de nombreuses plateformes. Quand on crĂ©e une application hybride, on peut obtenir une expĂ©rience utilisateur globale similaire Ă  celle d’applications natives. En revanche, cĂŽtĂ© UI, navigation et performance, les applications hybrides ne tiennent pas la comparaison. Il faut dire que les Ă©lĂ©ments de l’UI ne sont pas les mĂȘmes que ceux du systĂšme. Il est donc difficile de susciter un effet « familier » auprĂšs de l’utilisateur∙rice. Par exemple, depuis Android 12, l’animation Ă  la fin de la vue de dĂ©filement a changĂ©. Un∙e utilisateur∙rice d’Android 11 verra toujours l’ancienne animation dans toutes ses applications. L’utilisateur∙rice d’Android 12 en revanche voit la nouvelle animation dans toutes ses applications, SAUF dans les applications hybrides car les frameworks hybrides n’ont implĂ©mentĂ© que l’ancienne animation. Quant Ă  la performance, les applications hybrides ont toujours ce dĂ©calage de 300 ms qu’on ne retrouve pas dans une application native.

Quels sont les pour et contre de chaque modĂšle?

Alors
 comment se décider?

Le choix peut paraßtre compliqué. Mais en réalité, une fois le projet bien défini, il coule souvent de source. Voici une matrice à consulter pour prendre la bonne décision :

L’exemple de OneDoc: pourquoi une appli mobile native Ă©tait la meilleure option

Nous avons l'exemple parfait avec OneDoc.ch. Fin 2021, Arthur Germain, CEO de OneDoc, a chargĂ© Liip de concevoir une application mobile native. À l’origine, le service OneDoc avait Ă©tĂ© lancĂ© via une application web progressive. Mais lorsqu’il a commencĂ© Ă  se dĂ©velopper, avec plus de 5 000 utilisateur∙rice∙s inscrit∙e∙s en Suisse, les limites d’une PWA n’ont pas tardĂ© Ă  devenir Ă©videntes.

Retrouve l’intĂ©gralitĂ© de l’article ici : D’une appli web à une appli mobile