Migration vers React Native
Vue d'ensemble
Workflow prescriptif pour l'adoption incrémentale de React Native dans les applications natives existantes utilisant @callstack/react-native-brownfield, de la configuration initiale à l'intégration progressive de l'hôte.
- Piste Expo
- Piste bare React Native
Utilisez une piste par tâche sauf si l'utilisateur demande explicitement une migration ou une comparaison.
Stratégie de migration
Utilisez cette stratégie pour la planification et l'exécution de la migration brownfield :
- Évaluez l'état de l'application et sélectionnez la piste Expo ou bare.
- Effectuez la configuration initiale avec
@callstack/react-native-brownfield. - Packagez les artefacts RN (
XCFramework/AAR) à partir de l'application source RN. - Intégrez une surface RN dans l'application hôte et validez le démarrage/exécution.
- Répétez l'intégration par fonctionnalité/écran pour le déploiement incrémental.
Garde-fous de l'agent (Global)
Appliquez ces règles sur tous les fichiers de référence :
- Sélectionnez d'abord un chemin (Expo ou bare) et ne mélangez pas les étapes.
- Utilisez les espaces réservés de la documentation (
<framework_target_name>,<android_module_name>,<registered_module_name>) et résolvez-les à partir des fichiers du projet. - Validez chaque commande de packaging avant de passer à l'intégration de l'hôte.
- Préférez la documentation officielle pour les longs extraits de plate-forme et les détails des options CLI.
- Isolez les applications hôtes des API React Native directes quand c'est possible (approche facade).
Docs canoniques
- Quick Start
- Expo Integration
- iOS Integration
- Android Integration
- Brownfield CLI
- Guidelines
- Troubleshooting
Portail de sélection du chemin (Doit s'exécuter en premier)
Avant de sélectionner un fichier de référence, classifiez le projet :
- Si aucune application React Native n'existe encore, utilisez le chemin de création Expo :
- Si l'application React Native existe, inspectez
package.jsonetapp.json:- Expo si
expoest présent ou si le workflow du plugin Expo est demandé. - Bare RN si les dossiers natifs et le workflow direct RN CLI sont utilisés sans exigences de chemin Expo.
- Expo si
- Si c'est encore flou, posez une question de désambiguïsation.
- Continuez avec exactement un chemin.
Quand l'appliquer
Référencez ce package quand :
- Planifiez une migration incrémentale d'applications natives uniquement vers React Native ou Expo
- Créez des flux d'intégration brownfield pour les projets Expo ou bare React Native
- Effectuez la configuration initiale avec
@callstack/react-native-brownfield - Générez des artefacts iOS XCFramework à partir d'une application React Native
- Générez et publiez des artefacts Android AAR à partir d'une application React Native
- Intégrez les artefacts générés dans les applications hôtes iOS/Android
Référence rapide
| Fichier | Description |
|---|---|
| quick-start.md | Vérifications préalables partagées et portail de sélection de chemin obligatoire |
| expo-create-app.md | Générez une nouvelle application Expo avant la configuration brownfield Expo |
| expo-quick-start.md | Configuration du plugin Expo et préparation du packaging |
| expo-ios-integration.md | Packaging iOS Expo et intégration au démarrage de l'hôte |
| expo-android-integration.md | Packaging Android Expo, publication et intégration de l'hôte |
| bare-quick-start.md | Configuration de base bare React Native |
| bare-ios-xcframework-generation.md | Génération bare iOS XCFramework |
| bare-android-aar-generation.md | Génération et publication bare Android AAR |
| bare-ios-native-integration.md | Intégration native bare iOS de l'hôte |
| bare-android-native-integration.md | Intégration native bare Android de l'hôte |
Mappage Problème -> Compétence
| Problème | Commencez par |
|---|---|
| Besoin de décision de chemin en premier | quick-start.md |
| Besoin de créer une nouvelle application Expo pour brownfield | expo-create-app.md |
| Besoin de configuration brownfield Expo et câblage du plugin | expo-quick-start.md |
| Besoin d'intégration brownfield Expo iOS | expo-ios-integration.md |
| Besoin d'intégration brownfield Expo Android | expo-android-integration.md |
| Besoin de configuration de base bare RN | bare-quick-start.md |
| Besoin de génération bare RN iOS XCFramework | bare-ios-xcframework-generation.md |
| Besoin de génération/publication bare RN Android AAR | bare-android-aar-generation.md |
| Besoin d'intégration hôte native bare RN iOS | bare-ios-native-integration.md |
| Besoin d'intégration hôte native bare RN Android | bare-android-native-integration.md |