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.

FrameworkEmpty app APK (split-by-ABI, release)Production app (avg, 10 screens)
React Native (Expo SDK 52)~9 MB14-18 MB
React Native (bare, RN 0.76 New Arch)~7 MB11-15 MB
Flutter (3.27 + Impeller)~16 MB22-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.
Reality check: in 2 years and 14 apps, performance was the deciding factor exactly once — a Flutter app that was rendering a 3D-ish visualisation. Every other time, performance was a tie and we picked on other dimensions.

कारीगर 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 SDKReact NativeFlutter
RazorpayOfficial, currentOfficial but lags ~3 months
PhonePeOfficial, currentCommunity-only, stale
CashfreeOfficial, currentCommunity, current
UPI Intent (Android)Multiple, matureMature
OneSignal (push)OfficialOfficial
CleverTapOfficialOfficial
Shiprocket trackingWrapper any HTTPSame
Tally ConnectBuild your ownBuild 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 situationRecommendation
Team already does React on webReact Native
D2C or e-commerce with Indian paymentsReact 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 IndiaReact Native (hiring pool)
Heavily animated, game-like, or 3D-ishFlutter
Pixel-perfect UI matching across iOS & AndroidFlutter
Greenfield, no web team to leverageFlutter (faster ramp)
You want OTA updates without store reviewReact 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.