01Choosing
Native or cross-platform, decided on facts.
Almost every mobile project starts with this question, and most answers are delivered as an ideology. It is a technical choice with a small number of real inputs, and it is usually settled in an afternoon once those inputs are on the table.
Cross-platform is the right default when
- The app is screens, forms, lists, media and API calls — which describes most products people pay to have built.
- iOS and Android have to ship together, from one team and one backlog.
- Your own design language matters more than matching each platform's stock controls exactly.
- The budget has to cover two platforms, and a second native team is not on the table.
Native earns its cost when
- The app lives on hardware: sustained Bluetooth Low Energy, camera pipelines, sensors, augmented reality, precise background behaviour.
- It depends on a vendor SDK shipped only for Swift and Kotlin, with no maintained bridge.
- It leans on OS surfaces that are native by definition — home-screen widgets, live activities, watch apps, share extensions, deep system integration.
- One platform is the product and the other is an afterthought.
- A team already maintains a native codebase that you are extending rather than replacing.
It is also not all-or-nothing. A cross-platform app can call native code where it needs to, and a native app can host a cross-platform screen. What decides the shape is where the difficult ten percent sits, not the easy ninety.



