Dans une vraie app
Le flux de production recommandé par Expo est le suivant : eas update --channel staging sur un build de test, vérification, puis eas update:republish --destination-channel production pour promouvoir exactement le même bundle, ou eas update --channel production si les variables d’environnement diffèrent. --rollout-percentage permet un déploiement progressif, eas update:rollback revient à l’update précédente ou à celle embarquée dans le binaire. Le comportement côté app se règle dans app.json (updates.checkAutomatically, fallbackToCacheTimeout) et via l’API Updates (checkForUpdateAsync, fetchUpdateAsync, reloadAsync) pour les équipes qui veulent proposer un rechargement plutôt que l’attendre au prochain démarrage.
Le piège numéro un est l’update incompatible : du JavaScript qui appelle un module natif absent du binaire installé. La runtime version existe pour ça, et la politique fingerprint la calcule à partir du natif réel. Numéro deux : publier une update depuis un poste de dev avec des variables EXPO_PUBLIC_* de staging. Numéro trois : oublier que les stores ont des règles ; une update qui change le comportement de l’app au-delà d’un correctif reste soumise à leurs conditions.
En audit, je regarde eas update:list --branch production, la correspondance canal/branche (eas channel:list), et si les crashs sont bien associés à un identifiant d’update dans l’outil de monitoring, sinon personne ne sait quel code tourne vraiment chez les utilisateurs.
Termes liés
Runtime version
L’identifiant qui garantit qu’une update OTA n’est appliquée qu’aux builds dont le code natif est compatible avec elle.
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.
Hermes
Le moteur JavaScript de Meta pour React Native, par défaut depuis la 0.70, qui précompile le bundle en bytecode au build.
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.
Nos offres sur ce sujet
Migration Expo
Passer une app React Native bare sur Expo : prebuild, config plugins, dev builds, EAS Build et Update. Par PRs, dans votre repo, sans réécrire l’app.
Développement d’app
De l’idée aux stores avec une squad de seniors React Native déjà rodée : cadrage, architecture Expo, design system, CI/CD, publication, passation.