Sur le marché des technologies mobiles, il faut distinguer deux catégories principales. Les technologies dites "natives" choisies par Apple et Google pour développer de manière la plus optimale possible sur leur système d'exploitation respectif (Kotlin pour Android, Swift pour iOs) des technologies dites "multi-plateformes" ou "cross-plateformes" comme React Native ou Flutter. Ces dernières ont pour objectif de permettre de déployer son application sur iOS et Android à partir d'une même codebase et ainsi réduire les coûts de développement en codant une seule fois pour les deux plateformes.
Le multiplateforme a séduit de nombreuses entreprises, des startups aux géants de la tech. L'un des principaux arguments en faveur de ce choix est la réduction des coûts de développement.
Lorsqu'on développe une application en natif, il est nécessaire d'avoir une équipe de développeurs Android et une équipe de développeurs iOS. Chaque équipe va travailler séparément, avec des contraintes propres à chaque système d'exploitation. En revanche, si l'on souhaite développer cette même application en multi-plateforme, une seule équipe de développeurs sera nécessaire pour obtenir le même résultat et avoir une application mobile disponible sur iOS et Android. En conséquence, il y aura besoin de recruter un nombre inférieur de développeurs pour produire l'application avec le même niveau de qualité. Il faut également noter que cela simplifie l'organisation de l'entreprise. Par exemple, Pinterest témoigne sur l'augmentation de la vélocité de ses développeurs, en mettant en avant le nombre de réunions réduit et un partage de connaissances plus fluide entre les développeurs.
Lorsque vous travaillez sur un produit digital, il ne faut pas seulement prendre en compte le coût de départ pour parvenir au MVP (minimum viable product). Avec les évolutions du marché ou les retours de vos utilisateurs, vous allez vouloir adapter votre produit en créant de nouvelles fonctionnalités. Au fur et à mesure que votre codebase grossit, le coût marginal de développement d'une nouvelle fonctionnalité augmente, car le code est plus complexe à manier, et qu'il y a des risques de régression. En ayant une seule codebase grâce au multiplateforme, vous évitez de doubler ces coûts d'évolution. Par exemple, Soundcloud qui utilise ReactNative, relève qu'implémenter une nouvelle fonctionnalité valable sur les deux stores, aurait un coût marginal de 10 à 20% au lieu de 100%. Enfin, notons qu'une codebase unique diminue mécaniquement le nombre de bugs possible, et le temps de résolution des bugs. Et ce temps gagné peut représenter à long terme de sérieuses économies.
Le digital oblige les entreprises à innover rapidement, et cela se traduit dans la capacité des éditeurs d'application à devoir ajuster leur contenu et sortir de nouvelles fonctionnalités fréquemment. Le multiplateforme répond à cet impératif de rapidité. C'est l'un des avantages mis en avant par Bloomberg, qui a refondu en 5 mois son app consumer, et considère avoir divisé son temps de développement par deux grâce à React Native. En étant plus vif que ses concurrents, grâce à des mises en production régulières, cela permet d'apprendre vite de son marché et des utilisateurs, et ainsi éviter de développer pendant des mois des fonctionnalités parfois coûteuses, mais finalement jamais utilisées.
Enfin, il ne faut pas oublier que grâce au multiplateforme, chaque développement se répercute sur les deux systèmes d'exploitation, sans effort supplémentaire contrairement au développement natif, qui peut obliger certaines équipes à privilégier Android ou iOs, desservant alors une partie de ses utilisateurs ou se privant de conquérir un potentiel marché. Lors de la refonte de son application, Walmart explique que leur choix s'est porté vers React Native qui répond à cet enjeu de time-to-market en leur permettant de déployer simultanément leurs évolutions. En pleine crise du Covid-19, Walmart a par exemple su s'adapter à de nouvelles contraintes en quelques jours, en ajoutant une fonctionnalité de paiement sans contact sur leur app.
Il n'y a pas de mesure scientifique sur la question. Après avoir travaillé sur une centaine de produits, et suite aux échanges que l'on a pu avoir au sein de communautés de développeurs natifs et multiplateformes, on estime que gagner en moyenne 40% de vitesse de développement avec du multi-plateforme par rapport à du natif.
Vous vous posez la question de quelle technologie choisir pour votre projet ? Contactez nous ?