React Native est un framework développé par les équipes de Facebook en 2015 dans le but d'accélérer le développement et la maintenance de ses applications mobiles. Cette technologie permet de développer des applications mobiles iOS et Android native avec une base de code unique tout en gardant le « look and feel » des applications natives.
On vous propose dans cet article de vous pencher sur l'histoire de React Native et de mieux comprendre son fonctionnement et les raisons de son succès !
Lorsque Facebook a dévoilé sa librairie React.js durant la JS Conf de 2013, on ne pouvait se douter de l'impact de ce projet web sur le futur du développement des applications mobiles. L'ambition de cette bibliothèque était alors d'allier simplicité et modularité pour faciliter la vie des développeurs d'applications web, en encourageant notamment le développement de composants réutilisables.
2 ans plus tard, poussés par l'immense popularité de cette librairie, les équipes de Facebook dévoilent un autre projet open source dans sa continuité : React Native. L'ambition est cette fois de révolutionner le monde du développement mobile avec un framework permettant aux développeurs web de développer des applications iOS et Android au rendu natif avec une seule base de code JavaScript.
Dévoilement de React Native à la React.JS Conf de janvier 2015
React Native est un immense succès. 4 ans après son lancement, c'est un des projets open source les plus populaires sur Github, avec plus de 2000 contributeurs partout dans le monde et des dizaines d'entreprises leader dans la tech l'ayant utilisé : Uber, airbnb, Walmart, etc. Les applications à succès utilisant aujourd'hui ce framework sont de plus en plus nombreuses.
L'évolution de l'intérêt de la requête React Native sur Google depuis 2016 montre la popularité du framework
Un framework est une base de code préconçue avec des choix d'architecture, de fonctions, de librairies, d'API. L'objectif est de simplifier le développement en limitant le nombre de tâches manuelles qu'un développeur devra faire.
React Native est un framework qui utilise le langage de programmation JavaScript et les librairies React développées par Facebook pour développer des interfaces webs. Sauf qu'il s'agit désormais de mobile. En d'autres termes, les développeurs webs JavaScript peuvent développer des applications mobiles qui ont la performance et la fluidité d'applications natives.
Jusqu'alors, les développeurs mobiles devaient programmer deux applications distinctes avec des langages très différents (Swift ou objective-C pour iOS, Java ou Kotlin pour Android), l'ambition de Facebook était de proposer aux développeurs de ne développer qu'une seule base de code pour toutes les plateformes. Ceci est rendu possible grâce à un moteur JavaScript qui donne des instructions aux instances natives.
Les avantages de React Native sont très nombreux, et expliquent sa popularité qui n'a cessé de croître depuis sa création. Parmi eux, 3 ont retenu notre attention.
Tout d'abord ce framework permet d'utiliser une base de code unique pour toutes vos plateformes. Cela accélère et simplifie considérablement le développement et la maintenance de vos applications. Vous n'aurez à développer vos fonctionnalités qu'une seule fois, et cela assure dans le même temps une homogénéité entre vos deux applications Android et iOS.
Utiliser React Native vous permettra aussi de faciliter la gestion de vos équipes de manière considérable. Une base de code unique pour toutes vos plateformes signifie une équipe unique travaillant sur la même technologie.
Aussi, la gestion de votre recrutement et la montée en compétence de votre équipe seront d'autant plus simplifiés que JavaScript est un langage de programmation très populaire : +70% des développeur le connaissent selon stackoverflow.
La performance d'une application se mesure grâce à différents indicateurs :
Avec une application React native, vous donnerez à vos utilisateurs une expérience de navigation aussi fluide et performante que sur une application native, notamment grâce au fait que React Native fait directement appel à des API natives.
Par ailleurs, grâce à React Native, vous pourrez faire évoluer et debugger vos applications beaucoup plus facilement. D'une part car vous n'avez à développer vos modifications qu'une seule fois. Et d'autre part car vous pourrez déployer votre code simultanément sur toutes les plateformes. D'un point de vue utilisateur, le téléchargement de vos mises à jour ne sera pas obligatoire dans tous les cas. Code push permet de faire passer des changements, comme des corrections de bugs, sans que les utilisateurs ne s'en aperçoivent.
Finalement, tous les avantages cités plus haut concourent à la diminution de vos coûts de développement, sans altérer la performance et la fluidité de vos applications, dont le rendu natif ne permettra pas aux utilisateurs de la différencier de ses applications natives traditionnelles.
« Avant React Native, les e?quipes Bloomberg auraient de?veloppe? les versions iOS et Android en paralle?le, sans pouvoir partager la majeure partie du code qu'ils e?crivaient, menant a? des retards et de la redondance. » Gabriel Lew, Senior Software Engineer, Bloomberg
Performance, rapidité, coût, simplicité, les avantages du framework React Native sont très nombreux ! Chez BAM nous avons développé notre expertise dès les débuts du framework en 2015, et nous sommes aujourd'hui la plus grande équipe d'experts React native de France.
Si vous voulez en savoir plus, n'hésitez pas à télécharger notre livre blanc sur React Native.