Dans une vraie app
Le signal qu’un projet est resté trop longtemps sur Expo Go est une liste de dépendances choisies pour « marcher dans Expo Go » plutôt que pour leur qualité : une librairie de stockage en JavaScript pur là où MMKV s’impose, une carte web dans une WebView, un SDK d’analytics intégré via son API REST. Passer en development build se fait en deux commandes (npx expo install expo-dev-client puis npx expo run:ios) et ouvre tout l’écosystème natif ; il n’y a pas de raison de retarder ce passage au-delà de la première semaine.
L’autre piège est le décalage de version. Chaque Expo Go correspond à une version de SDK donnée ; un projet en retard d’une version ne s’ouvre plus dedans, et sur l’App Store Expo Go s’arrête au SDK 54. Un message « project is incompatible with this version of Expo Go » signifie que le projet doit être mis à jour, ou qu’il est temps de passer au development build.
En audit, un projet qui n’a ni expo-dev-client ni dossiers natifs ni profil de build EAS n’a jamais été compilé par ses propres moyens. C’est un point à traiter avant toute discussion sur les stores, parce que la première compilation révèle toujours quelque chose : bundle identifier, icônes, permissions, signature.
Termes liés
Development build
Un build debug de votre propre app qui embarque expo-dev-client : vos modules natifs, plus un launcher pour se connecter à Metro.
Expo
Le framework open source recommandé par React Native : SDK de modules natifs, CLI, prebuild, Expo Router, et les services cloud EAS.
EAS Build
Le service de build hébergé d’Expo : des profils dans eas.json, la gestion des credentials, et des runners macOS et Linux pour iOS et Android.
Prebuild (Continuous Native Generation)
La commande Expo qui génère les dossiers android et ios à partir de app.json et des config plugins, au lieu de les maintenir à la main.