Native vs. Flutter vs. React Native in 2026: how I advise clients
By Michael Barton ·
“Should we build native or cross-platform?” is the first question almost every mobile client asks me. I have shipped production apps with native Swift and Kotlin (for Southwest Airlines and Progressive), Xamarin (for emergency-response software that integrates with barcode scanners and medical devices) and Flutter. Here is the framework I actually use.
Start with what the app touches
The best predictor of the right choice isn’t team preference. It’s how much of the device the app depends on.
| If your app mostly… | Lean toward |
|---|---|
| Shows content, forms, lists and account screens | Flutter or React Native. One codebase, lower cost. |
| Needs Bluetooth, scanners, NFC, background location or audio | Native, or cross-platform with native modules you budget for |
| Must feel indistinguishable from Apple and Google’s own apps | Native (SwiftUI and Jetpack Compose) |
| Shares a team and code with an existing React web app | React Native |
| Is an internal or field-workforce app on managed devices | Either. Choose on hardware needs and team skills. |
The costs nobody puts in the estimate
Cross-platform is cheaper to build. Whether it is cheaper to own depends on these:
- The plugin gap. Every time you need a platform feature without a mature plugin, you write native code anyway, now in three languages.
- Upgrade cadence. You inherit Apple’s and Google’s yearly changes plus the framework’s breaking changes.
- Hiring. Who will maintain this in three years? Native iOS and Android skills are the most widely available, and Flutter developers are increasingly common too.
Native costs more up front (two codebases) but tends to have fewer surprises over a five-year life, especially for hardware-heavy apps.
My default recommendations
- Validating an idea? Flutter. Get to real users fastest.
- Consumer brand where polish is the product? Native, with shared business logic on the backend.
- Enterprise or field app with hardware? Native, or cross-platform only after a spike that proves every hardware integration you need.
- Already on Xamarin? Xamarin support has ended, so plan a migration. I usually recommend going native or to .NET MAUI depending on how much C# business logic you can keep.
The real answer
The platform matters less than the architecture underneath it. A clean separation between UI, business logic and data means you can change your mind later without starting over. I have rescued apps in every framework, and the hard ones were always the tangled ones.
Weighing this decision for your own app? Book a free intro call and I’ll give you a straight recommendation.