Les différentes possibilités de développement pour les applications mobiles
En matière de création d’application mobile téléchargeables sur les stores iOS et Android, on peut distinguer 3 approches différentes de développement :
- Le développement natif : une même application sera développée distinctement dans les langages dédiés à chaque plateforme (Swift pour iOS et Java / Kotlin pour Android).
- Le développement hybride : un seul code permet de générer deux applications qui sont en fait une même application web encapsulée et packagée avec un navigateur web dédié à chaque système d’exploitation mobile.
- Le développement React Native : ici aussi un seul code source qui génère au final deux applications natives.
A noter qu’il existe une quatrième approche qui permet de créer une Progressive Web App (que nous ne développerons pas ici car elle ne permet pas de générer une application téléchargeable sur les stores mobiles).
Chaque technologie a ses avantages et ses inconvénients, mais nous allons vous expliquer pourquoi nous privilégions aujourd’hui, dans la plupart des cas, le développement React Native.
D’où vient React Native ?
Au début des années 2010, Facebook était confrontée à l’évolution permanente de ses applications et à des besoins de plus en plus exigeants en matière de fonctionnalités et de performances, ceci sur les deux environnements iOS et Android. Les développements étaient alors réalisés en HTML avec le framework hybride Apache Cordova. Mais cet environnement de développement ne donnait pas satisfaction concernant les possibilités d’exploitation des terminaux mobiles et les performances. Sous l’impulsion de ses meilleurs ingénieurs, Facebook se lança dans la création d’un framework basé sur Javascript/React permettant de générer des applications en code natif iOS et Android : la première version de React Native fut présentée en 2015. Il est depuis passé dans l’univers Open Source, et utilisé pour les applications les plus exigeantes (Microsoft, Uber, Shopify, Salesforce, Pinterest, …).
Un code unique multiplateforme, des possibilités très proches du code natif
En tant qu’agence digitale mobile, nous sommes en permanence à la recherche des meilleures technologies pour les projets de nos clients. Cela veut dire que nous devons trouver le meilleur compromis entre les contraintes de besoins, de coût et de délais de réalisation. Il est clair qu’à ce jour (février 2021) React Native offre certainement le meilleur rapport pour la création ou la refonte d’application mobile. Le code de l’application sera, dans la plupart des cas, (quasiment) identique sur les deux environnements iOS et Android, ce qui représente un gain de temps important, sans sacrifier les performances. De même, React Native permet d’interagir avec de nombreux composants des terminaux mobiles (appareil photo, GPS…) d’une manière bien plus étendue qu’avec une application hybride.
Une excellente intégration dans les écosystèmes digitaux actuels
Le framework React Native a été conçu pour créer des applications mobiles qui s’interfacent au mieux avec des applications Web très diverses : React.js bien entendu puisqu’ils partagent la même paternité, mais aussi d’autres frameworks non seulement Javascript mais aussi PHP, grâce à une API très ouverte. Ainsi on pourra par exemple interfacer sans problème une application React Native avec un back-end Drupal ou WordPress (headless ou pas).
Soutenu par une communauté de développeurs impressionante
On mesure généralement la pérennité d’un framework Open Source à la taille et l’activité de la communauté qui le soutient. La communauté React Native était déjà en 2018 la deuxième plus grosse communauté GitHub au monde. Elle n’a depuis cessé de grossir. Toujours sous la houlette de Facebook, le repository est animé à ce jour par plus de 2000 comptes contributeurs qui apportent continuellement des améliorations et des innovations.
En résumé
Nous avions par exemple réalisé initialement l’application mobile des étudiants du groupe INSEEC avec le framework hybride IONIC. Etant donné l’évolution de l’application et les performances attendues, elle a été réécrite avec React Native et maintenant prête à évoluer avec les besoins du groupe INSEEC U.
Si vous aussi vous souhaitez réaliser une application mobile React Native performante et évolutive, contactez-nous.