The native vs cross-platform debate matured into a portfolio decision: different apps on your roadmap deserve different stacks.
Native (Swift / Kotlin)
Best when you need maximum GPU performance, tight OS integration, or day-one platform APIs. Cost is two teams or staggered platform releases.
.NET MAUI
Strong fit for enterprise apps already on C# backends — shared models, unified auth, and faster hiring inside .NET shops.
Flutter
Single UI codebase with consistent rendering; excellent for greenfield consumer apps where design parity across platforms matters more than native feel micro-interactions.
Architecture Regardless of Stack
Offline-first with local SQLite, background sync queues, idempotent APIs, and conflict resolution. Mobile users live on unreliable networks — design for that on day one.