Dans une vraie app
La confusion la plus courante, encore aujourd’hui, est de croire qu’Expo limite l’accès au natif. C’était vrai à l’époque du « managed workflow » et d’Expo Go ; la distinction managed/bare n’existe plus. Un projet Expo moderne est un projet React Native dont les dossiers android et ios sont générés par npx expo prebuild, et dans lequel on ajoute n’importe quelle librairie native ou son propre module Swift/Kotlin. Les projets avec des dossiers natifs committés restent possibles ; on perd seulement la régénération automatique.
Ce qui compte dans un audit : la version du SDK (le champ expo de package.json, puis npx expo-doctor), l’écart entre les versions installées et celles attendues (npx expo install --check), et si les dossiers natifs sont générés ou maintenus à la main. Un SDK en retard de trois versions coûte beaucoup plus à rattraper qu’une mise à jour à chaque release, parce que chaque SDK apporte aussi sa version de React Native et ses changements d’architecture. Le changelog du SDK 58 mentionne par exemple la nouvelle Expo Go limitée au SDK 58, les binaires précompilés d’expo-modules-core sur Android et le découpage des sources iOS en cibles Swift Package Manager.
EAS est à part : c’est un service hébergé, avec ses propres plans tarifaires, et utilisable sans le package expo. Un projet peut très bien utiliser Expo sans EAS (builds locaux ou CI maison) ou EAS sans Expo.
Termes liés
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.
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 Go
L’app bac à sable d’Expo, avec un jeu fixe de modules natifs : pour apprendre et prototyper, pas pour produire.
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.
Expo Router
Le routeur d’Expo basé sur les fichiers : chaque fichier du dossier app devient un écran, avec deep links et routes typées automatiques.