Almost every client asks this, and most vendors answer with whatever they happen to build. The honest answer depends on three things: what the app does, who uses it, and what happens in year three.
Where Flutter clearly wins
For the large majority of business applications — anything that is fundamentally forms, lists, dashboards and API calls — Flutter is the right choice and it is not close.
One codebase serves both stores, which roughly halves the build cost and, more importantly, keeps Android and iOS genuinely in step. With two native codebases, features drift apart, bugs get fixed on one platform first, and the maintenance burden doubles permanently.
For a client in this market, that ongoing cost usually matters more than the initial saving.
Where we advise native instead
We recommend native when the app leans heavily on platform-specific capability: sustained background location tracking, deep camera or sensor control, complex Bluetooth peripherals, or heavy on-device processing.
We also recommend native when the app is the product rather than a tool supporting one — where a few hundred milliseconds of interaction polish genuinely affects retention.
The constraint everyone forgets
The real constraint in this market is not the framework. It is the device and the network.
A meaningful share of your users are on mid-range or older Android handsets with limited memory, on congested mobile data. An app that assumes a current flagship on office wifi will fail for them regardless of what it was written in.
Design for offline first, keep the bundle small, cache aggressively, and test on genuinely old hardware. Get that right and the framework question becomes a budget decision rather than a quality one.
We answer technical questions from people who are not clients. If this is a problem you are facing, write to us and we will tell you what we would do.
Ask a question →