Application mobile : Quel framework choisir pour 2020 ?
Le 2020-08-10, par Guillaume Le Gales
Vous souhaitez développer une application mobile en 2020. Vous n’êtes pas un expert, mais vous voulez faire le bon choix… cette article est fait pour vous !
Pourquoi être vigilant ?
A moins que vous ne souhaitiez redévelopper la même application tous les ans ou que vos financements soient illimités, il est important de choisir dès le départ la bonne technologie pour le développement de votre application. Une technologie obsolète vous donnera satisfaction sur le moment mais vous risquerez d’être limité si vous souhaitez apporter des évolutions à votre application. Une technologie trop récente et utilisée par une communauté de développeurs trop restreinte représente quant à elle un risque au niveau de la maintenance et pourrait vous contraindre à un mariage forcé avec votre prestataire.
Optez donc pour un framework largement utilisé et connaissant une communauté d’utilisateur en croissance.
Framework natif vs hybride
Avant tout, quelques définitions.
Le développement natif est un développement spécifique pour chaque OS de mobile (iOS, android, Windows,…). Développer en natif revient à développer une application spécifique car les frameworks ne sont pas les mêmes et requièrent des compétences différentes. Il y aura peu de mutualisation possible entre ces différents framework. Si vous souhaitez pouvoir développer une application disponible sur iOS et android, il vous en coutera grossièrement le prix de deux applications.
Le développement hybride permet un développement unique pour servir différents OS. Avant 2015, ce type de développement mobile était assez déceptif d’un point de vue de la performance et de la marge de manoeuvre autorisée au niveau du design. Depuis 2015, de nouveaux frameworks permettent des résultats impressionnants, répondant largement aux attentes même des plus exigeants. Même si un seul code est développé, il fait appel aux fonctions natives des devices, ce qui donne une expérience utilisateur très proche de celle obtenue avec un développement natif…mais avec un modèle économique beaucoup plus attractif.
Voici schématiquement ce qui pourra guider votre choix entre développement natif et développement hybride :
- Vous avez beaucoup de temps et beaucoup d’argent –> Natif
- Vous ne souhaitez développer une application que pour iOS ou que pour Android –> Natif
- L’application est très complexe –> Natif
- Vous souhaitez une application disponible pour iOS et Android –> Hybride
- Vous souhaitez un développement rapide et économique –> Hybride
Si votre choix se tourne vers un développement hybride, il vous faudra ensuite choisir entre différents frameworks.
Les meilleurs framework hybrides Les 4 principaux framework hybrides (ou cross-platform) sont :
React Native
Créé par Facebook en 2015, il est aussi utilisé par Tesla, Walmart, Skype et Airbnb
Ionic
Très populaire, sa version 4 est actuellement disponible en version beta. Il rassemble une communauté de développeur de plus en plus large.
Flutter
Le dernier entrant, lancé en 2018 par Google, cela signifie qu’il y a une large communauté de développeur derrière lui. Il sert particulièrement bien les smartphone Google Pixel. Peut être un pari pour l’avenir même si fin 2017 le Pixel ne représentais qu’à peine 3% des ventes de smartphone aux US.
Xamarin
Propriété de Microsoft, Xamarin est l’un des frameworks hybrides les plus en vue…mais il n’est pas Open Source contrairement aux 3 autres cités ci-dessus.
Le sujet 2020, React vs Flutter
Avec le lancement de son framework Flutter en 2018, Google apporte une nouvelle alternative intéressante pour le développement d’applications mobiles « hybrides ».
Vous trouverez de nombreux articles qui effectuent des comparaisons plus ou moins complètes et objectives entre Flutter et React, en voici une petite sélection :
- React-Native vs Flutter (Fev. 2019)
- Flutter, le framework UI de Google, serait-il meilleur que React Native de Facebook (Aout 2019)
- Flutter vs React Native: What to choose in 2020? (Dec 2019)
- React Native vs Flutter (Juil. 2019)
- Flutter vs Native vs React Native for Mobile Development: What to Choose? (Oct 2019)
Pour résumer les « pros & cons », de manière vulgarisée pour les non développeurs, voici une synthèse :
Rapidité de développement : Un point pour React !
Flutter nécessite l’utilisation de Dart alors que React utilise JavaScript, qui est un standard pour le développement Web. Aussi, une équipe expérimentée Web pourra rapidement prendre la main sur votre application, sans avoir à monter en compétence sur Dart. De plus, vous trouverez facilement des ressources en mesure de vous aider sur vos développements (ou maintenance).
Performance : Ca penche un peu vers Flutter mais….
Les applications développées avec Flutter semblent être légèrement plus fluides que celles développées avec React. Cela peut se remarquer pour des utilisants ayant des smartphones avec peu de puissance. Pour autant, les benchmarks ne sont pas unanimes.
A l’inverse, les applications développées avec Flutter ont tendance à nécessiter un peu plus d’espace de stockage sur les smartphone.
Support de la communauté : Un bon point pour React…même si…
A date, la communauté utilisant React est plus importante que la communauté utilisant Flutter. Cela laisse donc penser que vous (ou votre équipe de développement) pourrez plus facilement trouver un support pour résoudre vos problèmes si vous utilisez React. Cela dit, la communauté d’utilisateurs Flutter étant en pleine progression, vous ne resterez pas sur le carreau en utilisant Flutter.
La vrai question à se poser : Quels sont vos besoins ?
React et Flutter sont tous les deux de très bons framework de développement. La question n’est donc pas de savoir, dans l’absolu, quel est le meilleur Framework mais surtout de définir celui qui convient le mieux à la typologie de votre projet et aux compétences de vos équipes.
Petit récap :
- Projet 100% mobile –> Flutter
- Projet Web / mobile (app mobile avec Back office Web ou API vers services tiers) –> React
- Votre équipe a des compétences Web (JavaScript) –> React
Pourquoi choisir React Native ?
React Native est aujourd’hui le framework Open Source le plus utilisé et ayant la communauté de développeurs la plus forte. Comme le montre l’infographie, réalisée à partir des résultats de fin 2019, plus de 546 000 « commits » sur GitHub (la plateforme collaborative préférée des développeurs) ont été réalisés.
React Native est en 2020 le framework sur lequel nous notons la plus grande activité de la part de la communauté de développeurs.
Sans être définitif et trancher un débat quant au meilleur framework à choisir pour un développement d’application mobile en 2020, React Native reste pour nous la meilleur option, qui vous assurera une application performante et pérenne dans le temps.
Nous sommes experts dans le développement d’applications mobiles React Native. Vous avez un projet? Parlons-en !