You've decided to build a mobile app. Now: Swift/Kotlin native, React Native, or Flutter? The answer is boring but real — it depends on your team, your budget, and what you're building. Here's the 2026 comparison, straight.
Quick reference
- Native (Swift/Kotlin) — best performance, best platform integration, highest cost, hardest to hire
- React Native — best code sharing, easiest to hire, mature ecosystem, mostly native-quality UX
- Flutter — best UI performance, custom rendering, smaller Australian talent pool, growing fast
Native: the reference standard
Swift for iOS, Kotlin for Android. Two codebases. Full access to every platform API. If a native app exists that you envy — that's what you're competing with.
Where native wins
- Hardware-heavy apps: deep camera integration, AR (ARKit / ARCore), sensor fusion, watch/TV/CarPlay/Android Auto
- Apps where UX is the product — think Instagram, Airbnb, banking apps where subtle animation quality drives brand perception
- Apps that need to ship on day-one of a new iOS/Android release with new features (WWDC → App Store in 2 weeks)
- Apps with strict memory or battery constraints (background audio, GPS-heavy)
Where native hurts
- Cost: roughly 1.6–2× a comparable React Native app
- Timeline: two teams shipping in parallel takes 40–60% longer than one team on RN
- Hiring: senior Swift/Kotlin developers in Australia are scarce and expensive (AUD $180–250k salary bracket)
- Feature parity: two codebases drift. It's easy to accidentally launch a feature on iOS a month before Android
React Native: the pragmatic default
Meta's cross-platform framework. Ten years old in 2026, and finally settled. Uses React and JavaScript/TypeScript. Renders using platform-native components. New Architecture (Fabric + TurboModules) closed most performance gaps in 2024.
Where React Native wins
- Cross-platform code sharing (typically 85–95%)
- Time-to-market: 6–14 weeks for an MVP, versus 10–20 weeks native
- Team velocity: your web React team can ship mobile with a modest learning curve
- Over-the-air updates via Expo Updates — bug fixes and content changes ship in minutes, not App Store review cycles
- Massive ecosystem: Expo, Reanimated, React Navigation, React Native Firebase all mature and well-maintained
Where React Native hurts
- Native module integrations still occasionally require Swift/Kotlin code
- Bundle size larger than native (15–25MB vs 5–10MB minimum)
- Major version upgrades occasionally break dependencies
- Deep animation-heavy UIs can still stutter under load
Flutter: the technical dark horse
Google's cross-platform framework. Uses Dart. Renders its own UI using Skia/Impeller (doesn't use platform widgets at all). Best raw performance of the cross-platform options.
Where Flutter wins
- Consistent UI across platforms — since Flutter renders everything itself, buttons and animations look identical on iOS and Android
- Genuinely native-level performance for complex UIs
- Excellent for design-heavy or animation-heavy apps
- Widely used in Asia — if you're targeting SEA markets, huge community
Where Flutter hurts
- Dart. It's a fine language, but hiring for it in Australia is harder than JavaScript
- Non-native UI can look "wrong" to platform purists — Flutter apps don't quite feel like iOS apps or Android apps, they feel like Flutter apps
- Smaller ecosystem than RN — some third-party integrations are less mature
- Bundle size similar to RN, sometimes larger
Decision matrix
How we think through it for AU/NZ clients:
| Situation | Recommend |
|---|---|
| Fast MVP, small budget | React Native + Expo |
| Existing React web team | React Native |
| Design-heavy consumer app | Flutter (or Native if budget allows) |
| Consumer app, UX-critical | Native |
| Heavy hardware / AR / Watch | Native |
| Internal B2B tool | React Native |
| Enterprise app with 5+ integrations | Native or React Native (Flutter if team knows Dart) |
| Targeting SEA markets | Flutter |
Cost implications (rough AUD, 2026)
Same-scope mid-market app (10 screens, backend, admin panel):
- React Native + shared backend: AUD $75,000 – $120,000
- Flutter + shared backend: AUD $80,000 – $130,000
- Native (iOS + Android, two codebases): AUD $130,000 – $220,000
Ongoing costs also matter. Native maintenance is roughly 2× cross-platform because you're patching both codebases. Over 5 years, native TCO can be 1.8–2.5× a cross-platform stack for the same feature set.
Hiring reality in Australia (2026)
- React (web + RN) — largest talent pool, easiest to hire, most freelancers available
- Swift / Kotlin — smaller pool, higher salaries, more competition from FAANG
- Flutter / Dart — growing but small; expect 2–3× longer time-to-hire vs React Native
Hiring availability is often the deciding factor for internal builds. If you're going to hire in-house eventually, pick the stack you can actually recruit for.
Our default recommendation
React Native for most projects. Native when the app is UX- or hardware-critical. Flutter when the team is already comfortable with it or when the design is heavily custom and consistency matters more than platform-native feel. Rarely wrong to default to React Native and revisit only when there's a specific reason not to.
Found this useful? Two new posts a month — back to all insights.
