React Native or native? How to choose for your first app
Should your first mobile app be built with React Native or fully native Swift and Kotlin? Cost, speed, performance and the questions that decide it.
Muhammad Ahmad
· 6 min read
If you're planning your first mobile app, one of the first technical questions you'll hit is whether to build it “native” or with a cross-platform framework like React Native. The answer affects your budget, your timeline and how easily you can change things after launch, so it's worth understanding before you hire anyone.
What “native” means
A fully native app is written in each platform's own language: Swift for iPhone and Kotlin for Android. That means two separate codebases, usually built by two people or two teams, and every feature built twice.
What React Native is
React Native lets developers write one app in JavaScript or TypeScript that runs on both iOS and Android. It isn't a website wrapped in an app: it renders real native buttons, lists and navigation, so the app looks and feels like it belongs on the phone. It's used in production by many well-known companies, and tools like Expo make building, testing and releasing much smoother than it used to be.
Cost and speed
This is where React Native shines for most businesses and startups. With one codebase, most of the work is shared between platforms:
- One build instead of two. Most screens and business logic are written once.
- Faster iteration. New features ship to both platforms together, so iPhone and Android users stay in sync.
- Quick fixes. With over-the-air updates, many bug fixes can reach users without waiting for a full store release.
- One team. The same developer can often build the app and its web admin panel, because both use React.
What about performance?
For the kind of apps most businesses need (feeds, profiles, forms, maps, chat, bookings and payments), React Native is more than fast enough. Users can't tell the difference when the app is built well.
Fully native still wins in a few cases:
- Graphics-heavy games, 3D or augmented reality.
- Deep, low-level hardware access, like advanced Bluetooth devices or custom camera processing.
- Apps built around brand-new platform features on the day they launch.
If your idea sits in one of those buckets, native is worth the extra cost. If not, it usually isn't.
A real example
I built Word Of Mouth, a social app for sharing food experiences, with React Native and Supabase and shipped it to the App Store. It has a personalised feed, likes, comments and follows, location-based food search and wishlists. I also built its admin portal for the team, sharing the same React skills across the app and the web.
Questions that decide it
Before choosing, answer these honestly:
- Do you need both iPhone and Android at launch? If yes, React Native saves a lot.
- Is your app mostly screens, lists, forms and data? React Native handles that very well.
- Does it depend on heavy 3D, AR or unusual hardware? Lean native.
- How fast do you need to learn from real users? One codebase means faster iterations.
- Who will maintain it later? One codebase is easier and cheaper to hand over.
My recommendation
For most first apps, from startups testing an idea to businesses building something for their customers, React Native is the right default: you launch on both platforms sooner, for less, and keep one codebase as you grow. I'll recommend native when your idea genuinely needs it.
Have an app idea? Read about how I build mobile apps, or tell me about it and I'll suggest the best way to build it.