Native or cross-platform: deciding on evidence rather than preference
Both approaches build excellent products. The decision follows device capability requirements, team composition and roadmap shape.
Launch is the beginning of the cost, not the end. Operating system releases, store policy and dependency churn all arrive whether or not you are changing the product.
Both platforms release a major version annually, each bringing interface changes, deprecated APIs and new permission behaviour. Store policies change and can require modification to remain listed.
This work is not optional and is not driven by your roadmap. An app that is not maintained will eventually stop working or stop being distributed.
Each is small individually. Together they represent a steady baseline of effort that should be budgeted rather than absorbed.
Real users on real devices find defects that testing does not. Crash monitoring, triage and fixing represent an ongoing commitment, and the crash-free rate is worth treating as a standing target.
Store reviews also need attention. Unanswered negative reviews depress both rating and conversion.
A useful planning approach is to treat maintenance as a recurring annual proportion of the original build, then decide separately what enhancement budget the product deserves.
Projects that budget only for the build reliably end up with an app that decays, and the eventual remediation costs more than the maintenance would have.
Every app eventually reaches a point where maintenance costs more than a rebuild would. Recognising it deliberately is better than drifting there.
The signals are consistent: dependencies that cannot be upgraded without breaking others, a framework version no longer receiving security updates, simple changes requiring disproportionate effort, and nobody remaining who understands core parts.
Even then, a rebuild is not automatically right. Incremental replacement of the worst areas often delivers more value sooner, and it avoids reproducing years of accumulated behaviour in one step.
A recurring proportion of the original build cost is a reasonable planning figure, adjusted for how many integrations and third-party dependencies the app carries.
It will keep working for a while, then break with an OS release or fall foul of a store policy. Recovering from that state usually costs more than continuous maintenance would have.
It reduces duplicated feature work. It does not remove platform-specific obligations, and it adds the framework itself as another dependency to keep current.
Keep reading
Both approaches build excellent products. The decision follows device capability requirements, team composition and roadmap shape.
Users judge an app in the first few seconds. Startup time, scroll smoothness and battery drain are what they actually notice.
Store listings are a search and conversion problem. Most of the available improvement is in the first screenful.