Aller au contenu
useffect.sh
Planifier 30 min avec un senior
Outillage

Expo Go

L’app bac à sable d’Expo, avec un jeu fixe de modules natifs : pour apprendre et prototyper, pas pour produire.

Définition

Expo Go est l’application Android et iOS d’Expo qui sert de bac à sable pour découvrir React Native. Elle embarque un jeu fixe de modules natifs (ceux du SDK Expo) et charge le JavaScript de votre projet depuis le dev server Metro, ce qui permet de tester une app sur son téléphone sans Xcode ni Android Studio. En contrepartie, elle ne peut inclure aucun code natif qui ne soit pas déjà dedans : pas de librairie native tierce, pas de module maison, pas de modification d’Info.plist ou du manifest. Expo la décrit comme une app de terrain de jeu, limitée et inadaptée aux projets de production ; la suite logique est un development build, qui est votre propre app avec expo-dev-client. Chaque version d’Expo Go ne prend en charge qu’un seul SDK, et sur iPhone l’App Store s’arrête au SDK 54 : pour les SDK récents, Expo passe par sign.expo.dev ou TestFlight. Vous rencontrez Expo Go au tout début d’un projet, puis en le quittant.

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.

Sources

Les 35 termes du glossaire

Un de ces sujets bloque votre app ?

30 minutes avec un senior pour regarder le problème dans votre code. Gratuit.