Monorepo & Code Sharing
Yarn workspaces, nx, shared packages, React Native Web, code reuse strategies
1Qu'est-ce qu'un monorepo dans le contexte du développement React Native ?
Qu'est-ce qu'un monorepo dans le contexte du développement React Native ?
Réponse
Un monorepo est une architecture où plusieurs projets ou packages sont stockés dans un seul dépôt Git. Dans le contexte React Native, cela permet de partager du code entre une application mobile, une application web (React Native Web) et des packages utilitaires. Les avantages incluent une gestion centralisée des dépendances, des refactoring atomiques et une cohérence du code entre les plateformes.
2Quel est le rôle principal des Yarn workspaces dans un monorepo React Native ?
Quel est le rôle principal des Yarn workspaces dans un monorepo React Native ?
Réponse
Les Yarn workspaces permettent de gérer plusieurs packages dans un seul dépôt avec un unique node_modules hoisted à la racine. Cela réduit la duplication des dépendances, permet le symlinking automatique entre packages locaux, et facilite les scripts globaux. Dans un monorepo React Native, cela permet de lier automatiquement les packages partagés à l'application mobile et web.
3Comment configurer un monorepo basique avec Yarn workspaces pour React Native ?
Comment configurer un monorepo basique avec Yarn workspaces pour React Native ?
Réponse
La configuration de base nécessite un package.json à la racine avec le champ workspaces définissant les patterns des packages. Typiquement, on utilise packages/* ou apps/* pour les applications et packages/* pour les librairies partagées. Le champ private doit être à true pour éviter la publication accidentelle du package racine. Metro bundler nécessite aussi une configuration pour résoudre les symlinks.
Quel problème le hoisting des dépendances peut-il causer dans un monorepo React Native ?
Qu'est-ce que Nx et quel avantage principal apporte-t-il par rapport aux Yarn workspaces seuls ?
+15 questions d'entretien
Autres sujets d'entretien React Native
Les bases de JavaScript
Fondamentaux React
Bases de React Native
React Hooks
TypeScript pour React & React Native
Composants & API React Native
Styling & Layout React Native
Navigation React Native
State Management React Native
Networking & API React Native
Persistance des données
Forms & Validation
Animations React Native
Native Modules & Bridge
Code spécifique aux plateformes
Permissions & Device APIs
Push Notifications
Testing React Native
Debugging React Native
Build & Deployment
Expo vs React Native Bare
Performance Optimization
Memory Management
Architecture Patterns
New Architecture React Native
Security Best Practices
Offline-First Architecture
CI/CD React Native
Advanced Topics
App Lifecycle & Background Execution
Authentication & Session Management
Monitoring & Crash Reporting
Maîtrise React Native pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement