The framework question is the wrong first question
The usual dilemma
You need an app on both iOS and Android, your budget covers one team, and every agency you speak to recommends a different framework, usually the one they already know.
The first question founders ask about mobile development is usually "should we use React Native or Flutter or go native?" It is the wrong first question. The framework is a downstream decision. The upstream questions are: what does the app need to do that a web app cannot; who are the users and what devices do they carry; and how much of the experience is standard UI versus something custom?
Only after those are clear does the framework decision have a meaningful answer.
React Native vs Flutter vs native in 2026
React Native is the pragmatic default for most product teams with web experience. The Expo managed workflow has removed most of the setup friction. If your team already writes JavaScript and React, the context-switch to React Native is manageable. The trade-off: deep native integrations and complex animations require bridging to native code, which adds friction.
Flutter produces a more consistent cross-platform visual result because it renders its own widgets rather than mapping to native components. Teams that prioritise pixel-perfect visual design across iOS and Android often prefer it. The trade-off: Dart is a niche language, and the ecosystem is smaller.
Native (Swift/Kotlin) is right when the app requires deep system integration, Bluetooth, ARKit, complex camera pipelines, CarPlay/Android Auto, or when performance headroom matters more than development speed. It costs more and requires separate codebases for iOS and Android.
For most startup mobile apps in 2026, React Native with Expo is the right starting point. It ships fast, leverages web talent, and handles most product requirements without native bridging.
Planning an app for iOS and Android?
Get a free consultationWhich approach fits your situation
Start from your team and your app, not from the framework.
Ifyour team already builds with React
ThenReact Native
Ifthe app is brand-heavy with custom visuals
ThenFlutter
Ifyou want native UI with shared business rules
ThenKotlin Multiplatform
Ifyou rely on deep device features or heavy graphics
ThenFully native
Ifyou only need to test demand
ThenA mobile-friendly web app first
Backend and API design for mobile
Mobile apps have different API requirements than web applications. They need to handle offline states gracefully, work over variable network conditions, and minimise round trips because latency on mobile is more user-visible than on desktop.
REST is fine for most apps. GraphQL makes sense when the app has many different screens with different data requirements and you want to avoid over-fetching. Avoid over-engineering the API layer: the simplest API that serves the app well is the right API.
App Store review and the release cycle
App Store review adds lead time that web deployments do not have. Apple's review currently averages 24–48 hours for new submissions, longer for updates that touch payment flows. Build your release plan around this: a critical bug fix cannot ship in minutes the way a web hotfix can.
Over-the-air updates via Expo EAS Update (for React Native) let you push JavaScript-layer fixes without App Store review, which reduces this friction for most changes.
Kotlin Multiplatform joins the conversation
Kotlin Multiplatform (KMP) has moved from experiment to production use in large apps. Instead of sharing the whole interface, it shares business logic between iOS and Android while each keeps a fully native UI: a good middle ground for apps where platform feel matters.
Many teams now mix approaches: shared logic in KMP, or React Native for fast iteration. Choose based on your team's skills and the app you are building, not the trend.
| Option | Best for | Watch out for |
|---|---|---|
| React Native | Teams with web and React skills; fast iteration | Heavy animations and some native modules |
| Flutter | Custom, brand-heavy interfaces on both platforms | Dart skills; larger app size |
| Kotlin Multiplatform | Shared logic with fully native UI | Still need iOS UI skills |
| Fully native | Performance-critical or platform-specific apps | Two codebases to build and maintain |
Frequently Asked Questions
Written by
Vishvas Patel
Mobile Engineering
