Expo + Expo Router #
Stellt Laufzeit, Bundling und einheitliche Build‑Tools für iOS/Android bereit. Dateibasiertes Routing unter app/ ermöglicht klare Navigationsstrukturen, Deep‑Linking und effiziente Entwicklungsabläufe (z. B. Fast Refresh). Plattform‑Plugins werden zentral über app.json konfiguriert.
Tamagui #
Liefert performante, plattformübergreifende UI‑Komponenten mit Token‑ und Theme‑System. In themes/themes.ts definierte Paletten und Templates (z. B. background, brandColorBlue, accentColor) sorgen für konsistente Farben, Abstände und Zustände. Komponenten verwenden Tokens wie $background oder $accentColor anstelle fixer Werte.
MobX #
Ermöglicht reaktives State‑Management. Beobachtbare Stores halten den Anwendungszustand; mit observer gekennzeichnete Komponenten aktualisieren sich automatisch bei Statusänderungen. Dadurch bleibt die UI deklarativ, während Geschäftslogik in Controllern und Stores gebündelt wird.
TypeScript #
Sorgt für robuste Typisierung, präzise Autovervollständigung und frühzeitige Fehlererkennung. Schnittstellen für Controller, Stores und Domänenmodelle werden eindeutig beschrieben, was Refactorings und Zusammenarbeit erleichtert.
Internationalisierung (i18next + react‑i18next) #
Zentrales Locale‑Setup (u. a. in controllers/AppController.ts), Nutzung von t() für Übersetzungen und optionales Zusammenspiel mit expo-localization. Mehrsprachigkeit wird konsistent und erweiterbar umgesetzt.
Context‑Library (eigener ContextController) #
Der globale App‑Context in providers/ContextControllerProvider.tsx stellt eine einzelne Controller‑Instanz bereit, die Core‑Logik, Module, State‑Management sowie Repositories für Directus‑API‑Zugriffe kapselt. Navigation wird über injizierte Router‑Funktionen zentral gesteuert; Screens konsumieren den Controller per useContextControllerProvider().