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