ADR-002 — Expo (React Native)
Contexte
L'application Deazl doit tourner sur iOS et Android. L'équipe est composée de développeurs web (React).
Décision
Expo (React Native) avec Expo Router pour le routing file-based. HeroUI Native comme bibliothèque de composants.
Alternatives évaluées
React Native CLI — plus de contrôle, mais overhead de configuration natif (Xcode, Android Studio) sans valeur ajoutée à ce stade.
Capacitor (ancienne approche) — wrapper autour d'une app Next.js en mode static export. Abandonné : performances médiocres, limitations des API natives, expérience de développement pénible.
Flutter — courbe d'apprentissage importante (Dart), incompatible avec les compétences React de l'équipe.
PWA — pas d'accès App Store / Play Store, pas de notifications push, limites API native.
Conséquences
Les développeurs React s'y retrouvent rapidement.
Expo Go permet de tester sans build natif.
Expo Router apporte le routing file-based identique à Next.js App Router.
Les builds de distribution passent par EAS (Expo Application Services).
Last updated