fonctionnalités proposées par HTML5 évoluent rapidement. Les PWA ont leurs success stories comme Spotify, Tinder ou encore Uber.. Un avantage non négligeable des PWA, est de se passer des commissions sur les achats in-App imposées par les stores. Web responsive : Un site web conçu pour s'adapter à différentes tailles d'écran, y compris les appareils mobiles. Solution simple et économique, mais ne peut pas offrir la même expérience utilisateur qu'une application native ou hybride. (exemples : accès aux fonctionnalités natives limitées, etc…). Quelle technologie choisir? Le choix d’une approche par rapport à une autre va dépendre grandement des cas d’usage. Un site web responsive ou PWA est dans de nombreux cas suffisant, si:
Point de vigilance : Aussi, pour avoir une belle « expérience native » avec une PWA, des développeurs chevronnés web et mobiles sont nécessaires, et il convient de prévoir une charge de travail conséquente sur la partie UI. L'hybride natif est un excellent choix si le web n’est pas suffisant, et c'est notre recommandation par défaut pour offrir une belle expérience mobile. Il permet un bon compromis entre qualité et performance des apps / coûts et délais de mise en œuvre, et n’a pas de contraintes pour le déploiement sur les stores.
Les apps natives sont à privilégier pour des cas d’usage gourmand, qui nécessite toute la puissance du smartphone (ex: 3D, AR/VR) ou pour profiter des dernières nouveautés des OS, ou bien sur des SDK spécifiques qui ne sont pas compatibles avec une approche hybride et enfin si vous n’avez pas de contraintes budgétaires forte et un accès facile aux développeurs iOS et Android.
Dans un contexte socio-économique sous tensions qui induit une recherche d'efficience opérationnelle, et avec une stabilisation des écosystèmes, le développement mobile hybride décolle. Si cette approche permet de rationaliser les filières de développement mobile et donc d’optimiser les coûts, elle peut dans certains cas permettre de consommer moins de ressources logicielles et matérielles. Même si Windows phone n’a jamais réellement décollé, son arrêt a simplifié le paysage pour le développement mobile avec une convergence à chercher sur deux plateformes uniquement.
La stabilisation de l'écosystème a permis de simplifier le développement multi-platform, et d'accroître la confiance des entreprises. Cette stabilisation est liée principalement à deux points:
En effet, Material Design (Google) et Human Interface Design (Apple) convergent, tant d'un point de vue visuel (ex : avènement du flat design en 2018, qui tend aujourd'hui vers le "semi-flat") que d'un point de vue structure des interfaces (ex : position des différents éléments de navigation, etc). Ces systèmes de design jouent un rôle crucial dans l'expérience utilisateur, car ils assurent non seulement que les applications se comportent de manière intuitive et prévisible sur chaque plateforme, mais ils aident aussi à maintenir une apparence uniforme à travers l'écosystème d'applications. Aujourd’hui, il est possible d’offrir une expérience utilisateur très fluide avec un code fait à 100 % en hybride.
L'amélioration constante des frameworks multi-platform, notamment grâce à des optimisations et à l'utilisation de moteurs dédiés, a permis de gommer les écarts de fluidité de navigation entre les applications natives et les applications hybrides natives. Les géants du web investissent massivement sur les deux frameworks star du multi-plateformes, ce qui contribue à renforcer leur crédibilité et à en faire une option de choix pour les développeurs :
La question de l’attractivité de ces framework pour les développeurs et le fait qu’ils soient soutenus par des géants du web sont des critères déterminants pour les entreprises. L’intrêt des développeurs pour Flutter ne faiblit pas depuis son lancement en 2018
Il persiste une légende selon laquelle les marques premium se doivent d'avoir une application native. Ce choix ne doit pas être automatique, mais bien le résultat d’une analyse détaillée du cas d’usage. Avoir deux applications natives augmente le risque d’avoir au fil du temps une déviation entre l’expérience client sur iOS et Android. C’est ce qui a conduit BMW par exemple à choisir du multi-plateformes.
En effet, pendant des années, l'équipe d'applications mobiles de BMW s'est concentrée sur la version iOS de leur application compagnon pour véhicules, les applications BMW & MINI Connected. Cependant, en 2018, ils ont réalisé que les fonctionnalités et le design étaient devenus trop différents entre les versions iOS et Android. Ils devaient trouver un moyen d'offrir les mêmes fonctionnalités à tous les clients, quelle que soit la marque (BMW ou MINI) et le système d'exploitation mobile (iOS ou Android), sans augmenter significativement les coûts ni ralentir le développement de nouvelles fonctionnalités.
L'équipe avait deux objectifs principaux :
En octobre 2019, BMW a décidé d'utiliser Flutter. Cela a permis d'adopter une structure organisationnelle plus flexible. Un code base unique a été créé pour toutes les variantes de l'application (différentes plateformes, pays et marques). Moins d'un an plus tard, l'application My BMW a été lancée. Elle fournit une interface unique pour les utilisateurs, reliant leur téléphone mobile, leur véhicule et le monde numérique.
Un autre exemple, le Crédit Agricole Pologne faisait face à des applications natives existantes qui devenaient de plus en plus coûteuses à maintenir, les fonctionnalités commençaient à diverger entre les plateformes et il devenait difficile de mettre rapidement de nouvelles fonctionnalités sur le marché. Après 12 mois, Crédit Agricole a lancé le MVP de sa nouvelle application avec Flutter. La nouvelle application est plus facile et moins chère à maintenir et permet à l'équipe de réagir rapidement aux retours utilisateurs. Elle a également facilité la gestion des tâches entre les développeurs en supprimant la nécessité de distinguer les fonctionnalités Android et iOS. Ceci a permis à l'équipe de gagner beaucoup de temps, car elle n'avait plus besoin de travailler sur des solutions distinctes pour les plateformes Android, iOS ou Huawei, et pouvait fournir de nouvelles fonctionnalités plus rapidement.
L’amélioration du framework fait qu’il y a de moins en moins besoin de compétences natives. Ce qui permet de réduire la taille de l’équipe de build.
Vous n’avez pas encore d’application mobile et vous avez un usage mobile à vos utilisateurs?
Si vous avez déjà des applications natives en production et que vous constatez un des symptômes suivant alors l’hybride est à considérer sérieusement:
Si vous avez décidé de faire de l’hybride, se posera alors la question du framework entre Flutter et React Native (il n’y a pas vraiment d’alternative : MAUI ou KMP sont utilisés de manière très marginale en comparaison des deux mastodontes). Si vous avez un historique avec React ou React Native, que l’équipe est à l'aise avec ce framework alors continuez sur cette voie. Sinon, nous on aime plus Flutter. Pourquoi ? Pour la qualité de l’expérience développeur, la communauté, les performances graphiques. On vous donne plus de détails dans cet article
Flutter reste en 2024 le framework le plus utilisé pour faire des applications hybrides. Et selon ce document sur la stratégie Flutter publié d’abord en interne chez google, on apprend qu’à partir de janvier 2023, il y a plus de 700 000 applications dans le Play Store qui sont construites avec Flutter, et une application sur cinq nouvellement ajoutée au Play Store utilise Flutter, ce qui est plus que tous les autres frameworks multiplateformes réunis. Flutter gagne des parts de marché par rapport aux autres frameworks multiplateformes, dont l'utilisation est restée stable ou a diminué au cours des douze derniers mois.
En mode Greenfield: construire une nouvelle application, en hybride natif est l’option la plus commune. Vous pouvez faire une refonte iso-fonctionnalité ou en profiter pour faire du toilettage des fonctionnalités qui ne sont pas réellement utilisées ou du code dormant. Cependant, cette approche n’est pas forcément la meilleure si la nouvelle application fait exactement la même chose que l’ancienne. Vous allez vous retrouver à faire du développement sur 3 applications en même temps.
En mode Brownfield: une autre possibilité consiste à faire évoluer l’application existante progressivement en écrivant certaines parties en hybride natif. Ainsi, vous pouvez développer certaines des nouvelles fonctionnalités en Flutter par exemple et à chaque fois que vous corrigerez une partie de l’application vous en profiterez pour la passer en Flutter aussi. Cette approche à l’avantage de garder votre application toujours en production et vous fait bénéficier des retours utilisateurs sur son évolution.
Nous n’avons pas d’expérience de cette approche dans le monde du mobile. Pour être transparent, ça fait un grand débat avec nos développeurs mobiles, qui sont plutôt contre. On le souligne ici car c’est une approche qui va dans le sens du courant anti-gaspillage du software et qui prône la réutilisation. Vous pouvez en apprendre plus sur le brownfield dans notre article dédié, mais attention il est à périmètre technologique constant, c'est-à-dire reprend une application Kotlin en Kotlin par exemple.
Si le développement natif reste pertinent pour certaines applications spécifiques, l'hybride devrait être le choix par défaut pour la plupart des projets qui ne peuvent pas se contenter d’une PWA. Il offre une multitude d'avantages, tels que la réduction des coûts de développement, l'accélération de la mise sur le marché, la cohérence accrue entre les plateformes et une expérience utilisateur harmonisée.
Le développement hybride multi-plateforme n'est pas une tendance passagère, son attractivité se confirme d’année en année. C’est un choix stratégique pour les entreprises qui souhaitent créer des applications mobiles performantes à moindre coût.
Les progrès technologiques et notamment l'émergence de frameworks matures comme Flutter et React Native, ont considérablement optimisé l'expérience du développement hybride. Ces frameworks permettent de créer des applications mobiles performantes et robustes, tout en préservant la qualité et l'expérience utilisateur.
Est-ce pour autant c’est la fin du natif ? La majorité des applications seraient encore développées en natif si on se base sur les statistiques d’utilisation des librairies sur le segment Android. Les statistiques exactes sur l’état du marché sont difficiles à trouver mais estime aujourd’hui que 20% des apps (sources appbrain et Google) sur les stores sont réalisées en Flutter et en React Native, avec en exemple des superstars des stores comme les apps Skype, Google Pay et Amazon.