Expo.io ou Native Code pour votre projet mobile ?

Quand vous utilisez un projet en React Native vous avez le choix entre deux solutions, une façon simplifiée via Expo.io qui permet d’avoir une version packagée et directement fonctionnelle, une deuxième manière qui consiste à créer une application avec le code natif. Dans cet article nous vous donnerons notre retour d’expériences pour les deux façons de faire ainsi que des astuces pour faire le bon choix en fonction de votre projet.

Expo vs Native Code

Les deux solutions permettent de réaliser une application fonctionnelle et distribuable sur les stores d’Apple et Google. Le choix va se faire sur les besoins que vous allez avoir pour votre application notamment au niveau des library ou SDK.

Expo

Si votre besoin est d’avoir une application basique, sans nécessiter de SDK non inclus dans Expo, vous avez toutes les raisons d’utiliser la version simplifiée. Le gain de temps impressionnant et vous n’avez pas besoin d’ouvrir Xcode ou Android Studio pour configurer et déployer votre application, il faudra juste utiliser le gestionnaire Xcode pour envoyer votre .ipa sur l’App Store.

Expo permet d’avoir une solution d’émulation vraiment très rapide et qui permet également de partager rapidement celle-ci à d’autres personnes, il suffit d’installer l’application Expo sur son téléphone pour tester toutes vos applications en temps réel. C’est un vrai plaisir d’utiliser ce mode d’émulation et le gain de temps est considérable.

Expo propose une solution qui permet de “démonter” votre application est vous laisser au sources de votre projet afin de l’utiliser via les IDE et d’inclure les dépendances que vous avez besoin.

Native Code

Dans le cas contraire si vous avez des besoins d’intégration de librairies particulières, parfois même spécifiques à iOS ou Android, il faudra passer la la solution du code natif. Certes un peu plus lourde à gérer mais bien plus personnalisée. Cette solution permet de modifier l'intégralité de l’application sous Xcode ou Android Studio et de jouer avec le langage natif spécifique aux deux plateformes et React Native.

Le côté négatif de cette solution est d’avoir à ouvrir les IDE pour configurer une bonne partie de l’application et ajouter soit même les librairies, une phase qui peut être longue pour les personnes non initiées au développement mobile natif et sujet à divers problèmes.

Cette contrainte permet néanmoins d’avoir la main sur l’ensemble des librairies et d’ajuster son besoin en utilisant des SDK externes. La personnalisation de votre application est un atout majeur et les détails importants pour avoir une bonne application qui donne envie de la télécharger.

Retour d’expérience

Nous utilisons les deux solutions, cela est vraiment spécifique aux besoins du client mais également en termes de maturité du projet. Pour la réalisation de POC/MVP nous avons plus tendance à utiliser Expo, qui permet d’avoir une solution rapide et stable sur du moyen terme.

Pour certains POC/MVP nous sommes obligés de passer par le code natif car une fonction n’est pas disponible via Expo et impossible à implémenter sans l’inclusion de SDK.

Par expérience le fait de vouloir démonter son application pour passer d’Expo au Natif est souvent foireux et difficile à gérer en fonction des projets. Nous conseillons vraiment de partir sur du code natif si vous voulez utiliser d’autres fonctions que celles d’Expo.

Les entreprises en quête de résultats font appel à nous.

Nous pouvons construire votre histoire. Au fil des ans, nous avons accompagné de grandes entreprises et des entrepreneurs dans toute la France.

Lille

165 Avenue de Bretagne
Lille, FRANCE
59000

Paris

91 Rue du Faubourg Saint-Honoré
Paris, FRANCE
75008