The argument used to end at performance. It rarely does now. The gap has narrowed to the point where, for the majority of applications, users cannot tell which approach was used.
Choose cross-platform when
- Both platforms need the same features at the same time
- Your team is small enough that two codebases means two backlogs
- The product is content, commerce, workflow or data-driven
- You expect to iterate weekly rather than quarterly
Choose native when
- The product is the hardware interaction — camera pipelines, audio processing, AR
- You need platform features the week they are announced
- Sustained heavy computation runs on the device
The honest cost
Cross-platform is not half the work. Call it sixty to seventy per cent, because platform-specific polish, store requirements and native modules still need attention. What you genuinely save is having one product to reason about instead of two drifting apart.
Two codebases do not stay in sync. They diverge in inches, then in features, then in behaviour nobody intended.
On OptiFit AI we chose React Native with a Python API behind it. The device work — real-time exercise form analysis — went where it belonged, and everything else stayed in one place. That balance is usually the right one.


