Founder Guides

Cross-Platform App Development: One Codebase or Two?

Should you build one app that runs on both iOS and Android, or two native apps? Cross-platform tools like React Native have changed the maths. Here's how to choose without overpaying.

James Levine2 min read

When you build a mobile app, one decision shapes the budget more than almost any other: do you build one codebase that runs on both iOS and Android, or two separate native apps? Here's how to think about it without getting lost in the tech.

The two approaches, in plain English

  • Native: Separate apps written specifically for each platform — Swift for iOS, Kotlin for Android. Two codebases, two skill sets.
  • Cross-platform: One codebase (using a framework like React Native or Flutter) that produces apps for both. One team, one code, both stores.

Cross-platform used to mean visibly worse apps. That's largely no longer true — plenty of apps you use daily are cross-platform and you'd never know.

The trade-offs that actually matter

Cost and speed. One codebase is roughly one build, not two. For most founder budgets, that's the headline: cross-platform can cut cost and time substantially.

Maintenance. One codebase means one place to fix bugs and ship features, instead of keeping two apps in sync forever. This matters more over time than at launch.

Performance and platform feel. For most apps — bookings, dashboards, content, commerce — cross-platform is indistinguishable. The edge cases are heavy graphics, games, or deep hardware/OS integration, where native still wins.

When cross-platform is the right call

  • You want both iOS and Android without paying twice
  • Your app is UI and data — forms, lists, bookings, content, payments
  • You're a startup where speed to market and lean maintenance matter

That covers the large majority of business apps.

When native is genuinely worth it

  • Games or graphics-heavy apps
  • Deep use of platform-specific hardware/features
  • You're only targeting one platform anyway, so there's nothing to share

The honest default

For most founders I work with, cross-platform (usually React Native) is the sensible default — it gets you on both stores for close to the cost of one, with one codebase to maintain. Native is the deliberate exception when the app genuinely demands it.

This is closely related to the PWA vs native decision — sometimes you don't need a store app at all.

Not sure which route fits your idea? That's exactly what I help with. See my mobile app development page, or book a free call and I'll give you an honest recommendation before you spend a penny.