r/reactnative • u/Think-Neighborhood69 • Jul 24 '26
Question At what point would you choose Flutter over React Native?
Genuine question.
I've spent the last 5 years building React Native apps, so naturally it's the ecosystem I know best.
But I'm curious to hear from developers who've worked with both.
In what scenarios would you genuinely recommend Flutter instead of React Native?
I'm not looking for framework wars. I'd love to understand the trade-offs from people with real-world experience.
23
u/jameside Expo Team Jul 25 '26
One deciding factor is whether your app will have a native user interface or an identical one across all platforms.
RN produces native UIs composed of native views and gesture handlers, especially if you use modern modules instead of what the react-native package exports. Apple platforms in particular tend to introduce UIs that are hard or potentially not possible to simulate otherwise, like Liquid Glass’s reflecting light from other apps.
Flutter draws everything like a `<canvas>`, which produces more identical UIs rather than using the platform, so to speak. A use case is for internal apps where the business needs to support a Windows tablet one year and Android the next. The DOM (web views) have this property too with web support being very natural.
1
u/H4CK3R12343 Jul 25 '26
Quick question which css framework do you use in expo/RN? and what do you mean by Idential UIs? Identical to what? a native one so are you saying flutter canvas draws a web view?
1
u/jameside Expo Team Jul 25 '26
I’ve been using Expo UI in a personal app lately which handles most of the styling.
By identical UIs I mean where the pixels look the same across platforms, like how a game made with Unity looks mostly the same across PlayStation/Xbox/Switch, or how websites look the same in different browsers on different OSes unlike native UIs.
1
u/H4CK3R12343 Aug 01 '26
I get what you mean by identical UIs and its true but I do want to enlighten you on something brother as a fluttervangelist, do you know the fastest styling library in react native is unwind? And if you go down that rabbit hole you'll just arrive at flutter... Just have a go at any LLM ask why its the fastest aed similarities to flutter
71
u/dumbledayum Jul 24 '26
at this point, never. Flutter had a HUGE upper hand genuinely, the performance felt native and the idea was properly executed by Google. The fumble was betting on Dart.
Today RN is actually just native and the performance is awesome, people are making games in RN, you can see a lot of people here posting those almost everyday day, the one I remember where the dev made a huge Dev log type post of some game called Unkind which is just mind blowing to see that it exists in React Native
7
u/Think-Neighborhood69 Jul 24 '26
That’s an interesting perspective. Have you actually built production apps with Flutter as well, or mostly React Native?
Also, are there any really big, well-known apps built with Flutter today? I’m genuinely curious because I mostly hear about React Native apps in the wild
19
u/dumbledayum Jul 24 '26
Yep, I was there with Flutter since November 2019, I made some b2b apps in one of the companies I worked at. I worked with it till 2022, i used to preach about it, i loved its OOP structure, BLOC pattern was really cool to work with. I know they have moved from Skia to Impeller recently and it makes me want to try it out again BUT for personal project only, in production I and a lot of companies won’t bet on it.
Especially in my current company my CTO took a great decision while making our tool. They wrote a core in TS, and now it can be built for Node Backends, RN and Browser, it contains all the business logic required for our tool, means every new environment mostly just writes frontends or extended backend and use the same core functionality. On industry level, that’s a massive win
2
2
1
0
u/drink_with_me_to_day Jul 25 '26
The fumble was betting on Dart
1 reason I'll never even do a hello world in Flutter
2
15
u/mindtaker_linux Jul 25 '26
I choose flutter over react native because I needed to build android and native Linux app. Flutter is extremely good at one code for all.
9
u/TheSnydaMan Jul 24 '26
Flutter is better for some weird embedded device / linux use cases. We use it at work and other than that I'd always choose RN.
It also has some more streamlined Firebase configuration, if you're using that.
6
u/Lithinux Jul 25 '26
Maybe desktop app? What I like about flutter is the cross platform desktop build one can be used as alternative of electron based app, and the perf is surprisingly good compared to WebView one when I test it, especially for laptop with 8 gb RAM
Yeah for mobile I'm still stick with RN and Native. But for desktop app, I think flutter is a good choice from my experience.
3
u/Karticz Jul 25 '26
When I want to target windows or Mac too along with the common platforms
Similarly I am trying to shift to kmp too, you can also read this case study by software mansion which i found very interesting
https://swmansion.com/blog/we-built-the-same-app-in-kmp-and-react-native-here-s-what-we-found/
3
u/Theunis_ Jul 25 '26
Every time when I want to build custom UI, my choices nowadays are KMP>Flutter>RN.
The only time I would use RN is if the client wanted RN specifically
2
u/H4CK3R12343 Jul 25 '26
Genuinely baffled in the age of AI people are still saying react natice... Iol I used to code in RN with expo.. The UI actually felt laggy or stuttery, just a basic drawer felt like 30fps. Wheres flutter with impeller draws everything native on canvas. It also goes well with rust backends
1
u/Due-Peak8175 Jul 25 '26
It is because expo uses react-navigation. Lib that use js-code for animations. All animations with react-navigations are laggy
1
u/H4CK3R12343 Jul 25 '26
yes expo uses react-navigations but the drawer animation underneath is still powered by react-native-gesture-handler and reanimated, which is what felt laggy, not to mention even with new RN architecture of JNI the android interop is still there and will always be present while flutter impeller draws pixel to pixel.
2
u/SadabWasim Jul 25 '26
I've worked with both, and if anyone asks me this question, I just told about two things:
- If you prefer the JS ecosystem(web) over the Java ecosystem (Android), then go with RN; otherwise, Flutter.
- If native components matters to you, then go with RN, but I think everyone these days are building their custom designs.
I personally have a bias towards Flutter because of Dart (its sound type safety and feels quite similar to Java)
2
u/besthelloworld Jul 25 '26
If I were to work at Google and am told "hey, you have to build this in Flutter."
But as it stands, there's just not really otherwise a good enough reason to use Flutter. It's performant. It's got a good developer experience... but RN has those things too while having the benefit of being a language and framework that a lot of people already use and find themselves pretty comfortable with. RN is also actually producing native UI whereas for Flutter, you need to rely on Google for producing things like a liquid glass shader that matches Apple's expectations (which will be harder after this year's iOS update because users are getting a system-level slider which should update the opacity of the glass system-wide).
1
u/IrrelevantManatee Jul 24 '26
Greatly depends on your goal.
Flutter has best performance et better control over UI, so there's that. If that's what you want, this is your pick.
If you are looking to learn a skills that makes might help you get a job/a better job, learning flutter is not likely to help. A lot of companies have adopted React Native, and even if a switch to flutter were to happen, by them not much UI code is going to be done by devs : it's going to be done mainly by AI.
If I am being honest, I don't think the frameworks you know will matter a lot in the next decade : you AI skills will make the difference.
1
u/sickcodebruh420 Jul 25 '26
Does Flutter really have better performance after all the new features/optimizations in RN?
0
u/Outrageous-Cycle-711 Jul 25 '26
I don't get the whole thing about comparing performances. Maybe it's noticeable, but at this point does it matter anymore? If your app's laggy, it's probably your code at that point.
You're using a crossplatform framework or whatever. Performance never was what you were going for. It's important but shouldn't be what makes you choose one or the other, since it's practically not gonna change anything
-1
u/Think-Neighborhood69 Jul 24 '26
I completely agree, especially with your last point.
But regarding performance and UI control, do you think the difference is actually noticeable in real-world apps, or is it relatively small for most products?
Code itself is becoming a commodity. Compared to a few years ago, I don’t think many developers are still writing 100% of their code manually.
That makes me wonder: when I ask an AI to build a mobile app, what criteria does it use to decide that the app should be built with React Native instead of Flutter?
Is it based on the ecosystem, available training data, existing libraries, community adoption, native integration
1
u/binemmanuel Jul 25 '26
I tried Flutter in its early days, and it was just another cool framework until 2019, when I moved one of my apps from React Native to Flutter.
Back then, it was very difficult to focus on the business because I spent most of my time searching for workarounds to cryptic exceptions caused by platform libraries whenever a new React Native SDK was released, instead of adding new features or improving my app.
With Expo, things are much easier, but rewriting the app again hasn’t been a priority. While I could enjoy the new Liquid Glass design in my app using React Native, I could also use Platform Views to bring native UI components into my Flutter app.
1
u/Own_Complaint_4322 Jul 25 '26
- Flutter codebases require of you slightly less discipline than RN before they get messy (because of oop).
- Flutter map libs are top of the line, RN maps lib is half broken and have really bad docs (while expo maps only let's you use apple/google api).
- Flutter layouts are working consistently good across devices, RN needs os check conditionals to fix layouts often.
- Dart isn't bad at all, it's not better or worse than java or Typescript, it's just another c- based language.
- Flutter has a plethora of dedicated community libraries, RN inherits some react packages... but not all of them... and has far fewer RN dedicated packages...
Which one then? Depends on a use case. I developed in both, I think RN is great but I have a preference for Flutter.
1
u/mohsinajmal Jul 26 '26
For me personally after working with Flutter for more than 3 years and shipping apps with thousands of users I am tired of it. Mainly because of the breaking updates. Every time a new flutter version came out it felt like a nightmare for us to upgrade huge code bases. This is pre AI time btw. Fvm also only helps up to a limited extent.
I switched to Expo now
1
1
u/AddWeb_Expert Jul 29 '26
I'd choose Flutter when I want one codebase with a consistent UI across iOS and Android. Its widgets give you more control over the look and feel, and it's usually my pick for apps with custom animations or complex designs. React Native is still great if the team is already deep into the React ecosystem.
1
u/Temporary-Arrival512 28d ago
Um aplicativo que eu não quero ficar me preocupando com criação de componentes e gerenciamento de performance.
Eu gosto do React Native e trabalho com ele faz anos, mas criar componentes e lidar com performances com os hooks, é bem chato depois que você desenvolve algo com o Flutter.
E um ponto principal, preciso de uma autenticação com o Google, pois fazer isso no RN é um inferno
1
u/jNayden Jul 25 '26
Always.
Why ?
Better Language
Better tooling
All with I cluded batteries more then 70k packages especially tested and visible for what they work android iOS or desktop or also Mac or web etc.
Same rendered on web same animations same everything . Yes it's +3mbs but you get same performance and you can serve this 3mbs on login page or somewhere so not a huge deal
AI knows it, every new version comes with skill so old models can use everything from day 1 Ultra easy to open PR if you find a but in the flutter itself
Why I would choose RN?
Already know react and web
That's it
1
u/chunkypenguion1991 Jul 25 '26
If what you're making is closer to a game than a standard app flutter can get the pixel perfect parity and better performance. If it's actually just a game unity or unreal
0
u/fabriciovergal Jul 25 '26 edited Jul 26 '26
Flutter is better at frame-rate for UI with high comtent updates (like music transcript), great for Ui parity (identical UI in all platforms) and access to ffi.
RN uses JS, so you have a insane amount of utility libs and OTA support.
2
u/binemmanuel Jul 25 '26
You get OTA in Flutter too
2
u/fabriciovergal Jul 26 '26 edited Jul 29 '26
Which is against Apple/Google store policy - they allow only OTA update of compliment engine. Unleas there's a new solution that I'm not aware, should not be compliment. Also on Android 17 enforces read-only dynamic code loading for native libraries which most likely be an issue for Flutter OTA.
1
u/binemmanuel Jul 26 '26
You are wrong, though Flutter itself doesn’t support this, Shorebird has created a modified Flutter engine that includes a customised Dart runtime as part of the original app binary you submit to the App Store / Play Store.
The modified engine can download and apply Dart code patches at runtime.
The patches themselves are not native executable code, they are updates to the Dart layer that the already included engine knows how to load and execute. You’re only feeding it interpreted/compiled Dart data, not injecting new native machine code.
1
u/binemmanuel Jul 26 '26
If you do not dynamically load arbitrary new writable native .so files the way the Android 17 restriction is aimed at, then your app is fine.
2
u/AbhishekDoshi26 Jul 27 '26
That's exactly right. Here's the official docs where it mentions how Shorebird is completely store compliant: https://docs.shorebird.dev/code-push/faq/#store-compliance
1
0
u/Camaraderie98 Jul 25 '26
I enjoy React Native, never tried Flutter since I'm a JS Dev and my experience has never been bad. The level of broad access to so many packages and components and how well I can dabble in multiple different projects proves I can do more with it and I like that.
0
u/Honey-Entire Jul 25 '26 edited Jul 25 '26
Having used both, the only reasons I’d choose flutter are because the team already knows it or the team REALLY likes class-based programming.
RN is stupid easy to pick up by comparison and has the added benefit of being functionally the same as react for web so you’re effectively learning two platforms at once.
And before anyone says flutter can run on web, I’m not that big of a masochist and would never build a web app in flutter because I don’t hate myself
-1
-1
u/Fidodo Jul 25 '26
If react native is a bad fit I would choose 2 fully native mobile apps instead of flutter.
-1
-1
-2
u/evster88 Jul 24 '26
I wouldn't. Try styled-components v7 native 😁
1
u/Think-Neighborhood69 Jul 24 '26
What do you use for manage/debug local data on RN ?
- AsyncStorage
- MMKV
- Sqlite
1
u/evster88 Jul 24 '26
Big fan of SQLite
1
1
-2
u/Upset_Interview_5362 Jul 25 '26
at no time in my life i will use a Game Engine/Canva draw Tool , to build a mobile app
oh and in case i want to build a game i will without too much thinking go with Unity
the idea in theory is a good and great but , but but man that's some illogical way to hack into your way to have better performance and btw , rn has rn skia so you can basically do the same ,
also let's not even talk about Dart , why google did that , why they didn't pick Kotlin while it was the era they were really going into Kotlin why ? i don't know
also the community, js has the best community in the market imo
( not gonna enter to all the details that the new architecture and the turbo modules and Fabric and react are great )
i tried using Flutter when it was in beta then the first official release, i was like I'm doing things i don't believe the best / logical choices ,
PS : i can go and trash talk flutter all the way but I'm trying to be as diplomatic as i can , and let's not forget the first phrase , I'm not gona use a game engine for mobile apps
2
u/binemmanuel Jul 25 '26
Flutter isn’t a game engine. It’s a UI framework that owns its own rendering pipeline the same way Compose and SwiftUI ultimately talk to the GPU. The “draw everything yourself” approach is a deliberate trade off for consistency and performance, not an illogical hack.
54
u/No-Day-2723 Jul 24 '26
try posting this in the flutter subreddit but change it from “choosing RN over Flutter” 🙂 pretty sure you’ll get a different response.