Every six months someone writes another “React Native vs Flutter” post and every six months the conclusion is “it depends.” That’s technically true and practically useless. So let me try harder: across the 14 apps we’ve shipped for Indian SMBs, D2C brands and a couple of fintechs in the last 2 years — 9 in React Native, 5 in Flutter — here’s what we actually picked, what tripped us up, and which one we’d quietly default to if you asked.
No religious takes. Just numbers.
गति Dev speed — which one ships faster
Flutter wins on green-field projects by a clear 15-25%. The reasons aren’t Dart-the-language (it’s fine), they’re structural:
- One widget tree, one styling system, one state management primitive (with Riverpod) — less decision fatigue
- Hot reload that genuinely reloads in < 1 second, including state preservation
- The standard library covers ~80% of UI patterns without third-party packages
- No bridge to the platform; UI rendering is owned end-to-end by Flutter, so layout bugs are diagnosable in one place
React Native takes longer in the same scenario because you make 5-7 architecture decisions before you write any code: Expo vs bare workflow, navigation library (React Navigation vs Expo Router), state management (Zustand, Redux Toolkit, Jotai, MobX?), styling (StyleSheet, NativeWind, Restyle, Tamagui?), forms, animation library. Each is a 10-minute Slack debate that adds up.
But if your team already ships React on the web every day, React Native flips: shared mental model, shared TypeScript types, often shared API client. Going from web React to React Native is a 2-day ramp; going from web React to Flutter is 2 weeks.
आकार App size — this matters more in India than founders think
India is a tier-2/3 download market. A 24 MB app on a Jio 4G connection in a small town downloads in ~30 seconds; a 12 MB app downloads in 15. Twice the conversion at the install screen.
| Framework | Empty app APK (split-by-ABI, release) | Production app (avg, 10 screens) |
|---|---|---|
| React Native (Expo SDK 52) | ~9 MB | 14-18 MB |
| React Native (bare, RN 0.76 New Arch) | ~7 MB | 11-15 MB |
| Flutter (3.27 + Impeller) | ~16 MB | 22-28 MB |
The Flutter penalty is the rendering engine (Skia/Impeller) shipped inside every app. There’s no fix; it’s the architectural choice. App Bundle (AAB) downloads from Play Store are smaller than these APK numbers because Google strips unused arch slices, but the relative delta holds.
For an Indian D2C brand acquiring users via Meta or YouTube ads, this is real money — we measured 8-12% better install conversion on a React Native build vs the prior Flutter build for the same client (apparel D2C, Bengaluru, ~₹8L/mo ad spend).
प्रदर्शन Runtime performance — close enough that it rarely decides
Both frameworks render at 60 FPS on a 2022+ Android, both stutter on a Redmi 8A. The honest numbers:
- Cold start (Snapdragon 7+ Gen 2): Flutter 720ms, RN 0.76 New Arch 820ms. RN old arch was 1,100ms — that gap closed in 2025.
- Scrolling a list of 500 items with images: Both 58-60 fps. Flutter is smoother on Android 7-9 era devices, RN closer to native on iOS.
- Heavy animations (60+ moving elements): Flutter is meaningfully better. If your app is “graphics‑heavy” (game-adjacent, complex animations, custom canvas), Flutter is correct.
- Web view performance: React Native’s react-native-webview is more mature than Flutter’s. If you’re embedding payment iframes (common in India), RN is smoother.
कारीगर Hiring availability in India
This is where most Indian founders should be paying attention.
If your plan is “Antarix builds the MVP, then we hire 2 in-house engineers to maintain and extend it” — the hiring market matters more than the framework debate. Numbers from LinkedIn India in May 2026:
- React Native engineers (3+ yrs): ~180,000
- Flutter engineers (3+ yrs): ~35,000
- Salary delta for senior: Flutter senior commands ~12-18% premium because they’re rarer; React Native is more standardised pricing
You can hire a competent React Native engineer in Bengaluru in 2-4 weeks. A competent Flutter engineer takes 5-8 weeks. For agency-built apps that will live in-house, this matters a lot. For apps you’ll keep with an agency on retainer, it doesn’t.
पैकेज Ecosystem & third-party libraries
React Native has the larger ecosystem by 3-4x on NPM. For India-specific integrations (Razorpay, PhonePe SDK, Cashfree, UPI Intent, RuPay, Shiprocket, BluePay), React Native has official first-party SDKs from the vendor. Flutter has community packages that lag 1-2 versions behind.
| Indian SDK | React Native | Flutter |
|---|---|---|
| Razorpay | Official, current | Official but lags ~3 months |
| PhonePe | Official, current | Community-only, stale |
| Cashfree | Official, current | Community, current |
| UPI Intent (Android) | Multiple, mature | Mature |
| OneSignal (push) | Official | Official |
| CleverTap | Official | Official |
| Shiprocket tracking | Wrapper any HTTP | Same |
| Tally Connect | Build your own | Build your own |
If your app is payments-heavy or push-notification-heavy, React Native saves you 2-4 days of SDK glue per integration.
तैनाती Store submission & OTA updates
Both ship to Play Store and App Store with the same approval workflow. The differentiator is over-the-air (OTA) updates.
- React Native: Expo Updates (free tier exists) or CodePush. You can push JavaScript bundles to live users without going through store review — same-day bug fixes are possible. Caveat: only JS/asset changes, not native code.
- Flutter: No first-party OTA. Shorebird (paid SaaS, ~$25/user/month) is the only viable option in 2026 and it’s newer.
For an Indian D2C or SaaS where you’ll iterate often, OTA is genuinely valuable. We’ve pushed 23 OTA updates to a single React Native app in 6 months without one store review — that’s real velocity.
कब क्या Which to pick — our cheat sheet
| Your situation | Recommendation |
|---|---|
| Team already does React on web | React Native |
| D2C or e-commerce with Indian payments | React Native (SDK maturity) |
| App size is a conversion lever (tier-2/3 acquisition) | React Native |
| Plan to hire 2-3 in-house mobile engineers in India | React Native (hiring pool) |
| Heavily animated, game-like, or 3D-ish | Flutter |
| Pixel-perfect UI matching across iOS & Android | Flutter |
| Greenfield, no web team to leverage | Flutter (faster ramp) |
| You want OTA updates without store review | React Native |
| Internal dashboard / admin app (no SEO) | Flutter Web |
Our default in 2026
When an Indian client asks “you pick” and gives us no constraints, we go React Native. The hiring market in India, the smaller APKs, the OTA update flow, and the maturity of Indian-payments SDKs tilt it for the 80% case. We use Flutter when there’s a specific reason to — complex animation, design system parity, an existing Flutter team.
It’s also worth noting that this calculation was different two years ago (Flutter ahead) and might be different two years from now. The React Native New Architecture (Fabric + TurboModules + Hermes) shipped stable in 2024 and has closed the perf gap that was Flutter’s main edge.
If you need help
We do hybrid mobile app development end-to-end in both React Native and Flutter — consumer apps, B2B field apps, marketplace apps, store submissions, OTA setup. Senior engineers only, weekly demos, three months of free post-launch support, source code on your GitHub from day one. Tell us about your app; written quote within 24 hours.
Arjun Nair leads mobile at Antarix Technology. 11 years shipping native and hybrid apps — previously at Dunzo and Uber. He’s built apps in Swift, Kotlin, RN and Flutter, so the framework debate is professional, not religious. Reach him on WhatsApp or info@antarixtech.com.