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é

Pourquoi développer une application mobile avec React Native ?

  • Un seul code source, deux applications générées en code natif pour iOS et Android.
  • Le développement est rapide grâce à Javascript et à l’approche ‘composant’ React/React Native
  • Les applications mobile en code natif sont plus performantes et évolutives que celles développées avec un framework hybride.

React Native est-il un framework Open Source pérenne ?

  • React Native a été créé par Facebook pour ses besoins propres, puis versé au domaine Open Source.
  • Il est aujourd’hui soutenu par une très grosse communauté de développeurs.
  • Il est utilisé pour produire les applications les plus exigeantes (Facebook, Instagram, Uber, Microsoft, etc…).

Pourrais-je intégrer mon application React Native dans mon environnement Web existant ?

L’API permet d’interfacer les applications React Native avec tous types de back-end Web que ce soit un CMS ou une web application sur-mesure.

Nous avions par exemple réalisé 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 performante et évolutive, contactez-nous.

À LIRE AUSSI

UX Design : un design system moléculaire avec Atomic Design

UX Design : un design system moléculaire avec Atomic Design

Atomic design : chimie plutôt qu’alchimie Nous avons tendance à l’oublier mais le web s’appuie sur un imaginaire ancien, tiré du « monde réel », celui de la page. C’est la page qui structure l’usage aussi bien que la fabrication des outils...

Développer une application mobile, mode d’emploi

Développer une application mobile, mode d’emploi

Popularisé par Apple, le format application s’est répandu à mesure que l’usage du mobile s’est généralisé. La mosaïque d’applications qui constelle nos smartphones nous apparaît comme autant d’univers distincts encapsulés dans ces petits carrés...