Almost every first call about a new app reaches the same question within ten minutes: "Should we build two native apps, or one app for both phones?"
I'm a freelance Flutter and WordPress developer in Famagusta, North Cyprus, and most of my clients are small and medium businesses, not tech companies. They don't need a lecture on rendering engines. They need a clear answer they can take back to their partner or their accountant. This is the explanation I've settled on, and the cases where I still say "go native".
The one-sentence version
A native app is built twice: once for Android (usually Kotlin) and once for iPhone (Swift). A cross-platform app is built once, with a framework like Flutter or React Native, and runs on both. Often on the web and desktop too.
Everything else follows from "built once" versus "built twice".
What "built once" means for a business
When I put it in business terms, the list is short:
Budget: one codebase, one development process, one round of testing.…