Rida Rida
Reading Progress 0%

Flutter vs. React Native: An Actually Opinionated Take From Someone Who Shipped Both

By Rida

Every couple of months, someone on tech Twitter announces that Flutter is dead or that React Native has finally caught up. I’ve stopped taking any of it seriously. It’s basically the same energy as the whole conversation around vibe coding: a lot of noise, not much that actually changes what you ship with. Both frameworks are genuinely good right now, which honestly makes the argument more annoying, not less.

I’m not neutral here. I built MILES — an AI-powered driving safety app — in Flutter, so take this for what it is: an opinion from someone who’s actually tried React first, then shifted to Flutter.

The performance thing everyone argues about

For the longest time, “Flutter is faster” was basically the entire pitch. That’s not really true anymore. React Native’s new architecture (Fabric, TurboModules, JSI, all of that) closed a lot of the gap that used to exist. Startup time is better. Battery drain is better. People act like this didn’t happen, and it did.

But Flutter’s Impeller engine still draws every single pixel itself instead of relying on native UI components, and on anything demanding, it still pulls ahead on frame rate. For a to-do app or a content feed, genuinely nobody will notice. The difference shows up the second you’re doing something that actually stresses the render pipeline — live camera feeds, real-time overlays, that kind of thing.

Which is exactly what I was doing.

Developer reviewing AI-generated code during a real coding project
Read Next Experiences

What It is Really Like to Use AI for Real Coding Work

Why it actually mattered for me

The drowsiness detection part of MILES wasn’t some decorative animation. It was Google ML Kit’s Face Mesh running against a live camera feed, tracking eye-aspect-ratio continuously, deciding in real time whether to fire off a multi-layered alert before someone’s eyes actually shut behind the wheel. A framework that’s “pretty good most of the time” doesn’t cut it there. It needs to render the same way, frame after frame, without hitching, on whatever cheap Android phone someone happens to be running it on.

Flutter’s rendering engine gave me a level of consistency across Android devices that made the entire pipeline feel more predictable under load. I wasn’t fighting the framework to get consistent behavior across devices — which mattered even more later when I added crash threshold calibration and multi-contact SOS on top and needed the app to stay responsive with more sensor load running.

Could I have built the same thing in React Native? Probably, sure. Would it have been this painless? I genuinely doubt it.

But what does the market actually say?

Flutter’s sitting around 46% of the cross-platform market right now, React Native around 35%. Between them they cover most cross-platform apps being built at all — which honestly says more about cross-platform beating native than it says about either framework beating the other.

The industry split is more interesting than the raw numbers anyway. Flutter’s the go-to in fintech and automotive — Nubank, Google Pay, a bunch of car manufacturers — because pixel-perfect consistency actually matters when you’re dealing with money or safety. React Native owns social and messaging, Meta’s whole app family, Discord, Pinterest, because sharing code with an existing React web app matters more there than shaving off a few milliseconds of render time.

That’s not random. That’s companies with a lot on the line making the call that fits what they’re actually building.

Where I’ll admit React Native wins

The JavaScript ecosystem is just bigger, and pretending that doesn’t matter would be dishonest. If your team already knows React, they’re productive in React Native within days. Dart takes most experienced devs two or three weeks before they’re comfortable. If you need to hire fast, or you’ve already got a React web product you want to share logic with, React Native is the more sensible call. Not even close.

I’d never tell someone to use Flutter just because I did. Pick whatever actually fits your team and what you’re building, not whatever framework I happen to like.

And I’m not saying any of this from the outside — I’ve used React Native too, and honestly the build process gave me way more grief than Flutter ever has. Dependency conflicts, native module linking that would just break for no reason, a build that worked fine Tuesday and refused to run Wednesday. None of it was some unsolvable disaster, it just ate hours I never had to spend on the Flutter side.

So, honest answer

If the interface has to feel the same, every device, every time, Flutter’s still the safer pick in 2026. If you’re optimizing for hiring speed or you’re already deep in a React web stack, go React Native, it’s the sane default.

I didn’t pick Flutter because of a benchmark chart. I picked it because when I needed a camera feed, an ML model, and a life-or-death alert system to behave identically across a dozen random Android phones, it just didn’t blink. That’s not a spec sheet. That’s what it’s actually like to ship on it.


Written By

Rida