React Native : une codebase, deux plateformes
Instagram, Bloomberg, UberEats, Facebook, Walmart : de nombreuses entreprises ont fait le choix d’utiliser React Native pour leurs applications mobiles. Ce framework permet de développer des apps iOS et Android avec une seule codebase JavaScript. Chez Eve Media, nous développons avec React Native pour nos clients.
Pourquoi React Native
Cross-platform : une seule codebase pour iOS et Android. Réutilisation des compétences React (si votre équipe connaît déjà React). Performance native (les composants sont compilés en éléments natifs). Hot reloading pour un développement rapide.
React Native vs natif
Le natif (Swift/Kotlin) offre les meilleures performances et l’accès le plus complet aux APIs. React Native couvre 90% des cas avec une vélocité de développement supérieure. Pour les apps très performantes (jeux, AR), le natif reste préférable.
React Native vs Flutter
Flutter (de Google) est l’alternative principale. Flutter a son propre moteur de rendu ; React Native utilise les composants natifs. React Native bénéficie de l’écosystème JavaScript/React. Le choix dépend des compétences de l’équipe.
Architecture
Le code JavaScript s’exécute dans un thread séparé. Il communique avec le thread UI natif via un bridge (architecture classique) ou JSI (nouvelle architecture). Les composants React sont traduits en vues natives.
Expo vs bare React Native
Expo est une surcouche qui simplifie le développement : builds cloud, pas de configuration Xcode/Android Studio, accès facile aux APIs (caméra, notifications). Pour plus de contrôle ou des librairies natives custom, le bare React Native est préférable.
Navigation
React Navigation est la solution de navigation standard. Elle gère les stacks, tabs, drawers. La navigation mobile diffère du web ; adaptez-vous aux patterns mobiles (back gesture, bottom tabs).
État et data fetching
Les mêmes solutions que React web fonctionnent : Redux, Zustand, Context API pour l’état. React Query/TanStack Query pour le data fetching. La réutilisation du code entre web et mobile est possible.
Styling
Le styling utilise un sous-ensemble de CSS en JavaScript (StyleSheet). Flexbox est le modèle de layout principal. Les unités sont en points, pas en pixels. Des librairies comme styled-components ou NativeWind (Tailwind) sont disponibles.
Publication sur les stores
Le build et la soumission aux stores restent nécessaires. Expo EAS simplifie ce processus. Les guidelines Apple et Google s’appliquent. Prévoyez le temps de review (surtout Apple).
Mises à jour Over-the-Air
Une des forces de React Native : les updates OTA permettent de pousser des mises à jour JavaScript sans passer par les stores (pour les bugs mineurs, pas les features majeures). CodePush ou Expo Updates le permettent.
Conclusion
React Native est un excellent choix pour les applications mobiles business, content apps, et la plupart des cas d’usage. La vélocité de développement et la réutilisation de code compensent les petites concessions de performance.
Chez Eve Media, nous développons des applications React Native. Contactez-nous pour votre projet mobile.



