01 / The three options
What you are actually choosing between
Native means written separately for iOS and Android, in the languages each platform intends. Cross-platform means one codebase (usually React Native or Flutter) producing both. A web app means it runs in the browser and can be added to a home screen.
The decision is less about technology than about how many teams you can afford and how close to the hardware you need to be.
02 / Take cross-platform if
This is the right answer for most businesses
One team, one codebase, both platforms. The performance argument against it is largely historical: for an app that shows lists, forms, maps and media, nobody can tell.
It suits you when you need both platforms, the app is mostly screens and data, and you would rather have one team shipping than two teams coordinating. That describes the majority of business apps.
03 / Take native if
You are close to the hardware, or the app is the business
Heavy camera or sensor work, sustained background location, augmented reality, audio processing, anything that has to feel absolutely native under stress. Also when the app is the product rather than a channel, and small differences in feel translate into retention.
Accept that this is two codebases, two release cycles and, realistically, two specialists.
04 / Take web if
Discovery matters more than installation
If people need to find you, try you once, and decide: a link beats a download. No store review, no install friction, no approval process between you and a fix.
Modern web apps can work offline, be installed to a home screen, and send notifications. What they cannot do is match native for sustained background work or deep hardware access.
05 / The regret
What people actually wish they had known
Choosing native for two platforms at a one-platform budget. The second app gets half the attention and becomes the one with the bad reviews.
Choosing cross-platform for something hardware-heavy. The bridge becomes the project, and you end up writing native modules anyway, the worst of both.
Choosing an app when the answer was a website. The most expensive mistake of the three, because it is only visible after launch, when nobody installs it.
Choosing on the framework’s popularity. That decides who you can hire, which matters, but it should be the tiebreak, not the reason.
06 / Honestly
Start with the sentence, not the stack
Write down what the app must do that a website cannot. If the list is empty, you have your answer and it is cheaper than all three. If it has one item, check whether that item is real or aspirational.
We would rather talk you out of an app you do not need than build one nobody installs.
Tell us what it has to do and we will tell you which of the three fits, and why the other two do not.
