"Should we build native?" is one of the first questions in almost every app conversation. The honest answer is that it depends on what the app needs to do, who it is for and how it will grow. Each approach is a good choice for some products and an expensive mistake for others.
The three options
- NativeSeparate apps written in Swift for iOS and Kotlin for Android. The most direct access to the platform, the most polished feel, and two codebases to maintain.
- Cross-platformOne codebase, typically React Native or Flutter, compiled to both platforms. Most of the native feel for most apps, with one team and one set of features to build.
- Progressive web appA website that installs to the home screen and works offline. No app store in the way, one codebase shared with the web, but more limited access to device features.
The questions that decide it
Rather than starting from technology, we start from the product:
What does it need from the device? Heavy use of the camera, Bluetooth, background location, AR or complex animations pushes towards native, or towards cross-platform with native modules where needed.
Does it need the app stores? Discovery in the stores, in-app purchases and push notifications on every device point to a store app. An internal tool or a companion to a website may not need a store at all.
How fast does it need to change? If the product will iterate weekly, one codebase ships every change to everyone at once.
Choose the approach that fits the next three years of the product, not just the first release.
The cost nobody quotes
The build is only the first cost. Every approach also has to be maintained: OS updates every year, new devices, security patches, store policy changes. Two native codebases roughly double that ongoing work. A PWA has the lowest ongoing cost but relies on what browsers support. Cross-platform sits in between, with the added job of keeping the framework itself up to date.
Start there, and the technology usually chooses itself.
How we usually land
For most business apps, cross-platform gives the best balance of experience, speed and cost. We recommend native when the app lives or dies on deep device features or platform-level polish, and a PWA when reach and simplicity matter more than the store. Whatever the choice, we make it on paper with you first, with the trade-offs written down.
