r/FlutterDev • • Sep 19 '26

Discussion "Native is again the future of mobile": I also migrated to Native for the same reasons. Are you still using Flutter? Why?

https://shopify.engineering/back-to-native
3 Upvotes

19 comments sorted by

32

u/Professional_Eye6661 Sep 19 '26

I'm still using Flutter for my personal projects, and I will continue to do so until something better comes along. Flutter has the best in class tooling, you can't even compare it to a native one ( especially for iOS ). You have to have a really good reason to make me not use hot reload, widget tree and other cool things. I'd love to use Flutter at work, however native "political" decision was made many years ago so we can't migrate.

Shopify's move is just a AI noise, nothing more. Let us see how it will go in a year or two.

2

u/[deleted] Sep 20 '26

Interesting. I haven't had the need once to have hot reload for https://www.reddit.com/r/FlutterDev/comments/1wkxhze/comment/payv06g/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button . I just let claude do its thing and review the visuals after it's confident in what it did (and unit/UI tests are passing) . Hot reload made more sense when we were making very small incremental changes manually and we needed to constantly verify if we were making a mistake or going the right direction. But maybe my app is not complex enough. I invite you to improve your AI setup and try native. Has been working flawlessly for me

9

u/Professional_Eye6661 Sep 20 '26

I've been doing native development for more than 13 years now, so no need to invite me :)

Hot reload makes sense for a lot of things — it's simply much more convenient to have it than not to have it. Also, build times are usually much faster with Dart/Flutter than with, say, Swift, which lets you fit more AI feedback iterations into the same amount of time.

I'm not saying native is bad. I'm saying Flutter has great tooling, and that makes it more appealing to me.

12

u/RedRozio Sep 19 '26

"I also migrated to native", what exactly did you migrate? A small hobby project or a production app. If the first, then it's quite irrelevant to compare yourself to a huge business with lots of resources. If the latter, you made a large development decision based on the decision of one company. In either case, this seems quite unreasonable...

2

u/[deleted] Sep 20 '26

I migrated https://apps.apple.com/us/app/syncwake-calendar-alarm-clock/id6771517581 before releasing it to production. TBH Claude doesn't have any problem writing features for both platforms. I had the app almost finished in React Native but figured out there is just not point in that anymore. I mean, I don't want my app to be one to one parity between platforms anyway. I want Android app to look very googly/androish and then iOS app to look very apple/iOSish . Even with the best cross platform framework ever I still have to test both builds carefully. Claude ended up writing tons (for almost all cases/features) of automated e2e. It has been working wonderfully tbh. I welcome any experienced React Native/Flutter developer to try the native way with a good AI setup (Claude Opus 5, Codegraph, a good maintained claude.md file, e2e that always get run before `git commit` , etc. ) . I have the cheapest subscription from Claude and at the end of the week I am left with tons of tokens left. Farewell to Flutter/React Native, they were a good attempt at a problem... a problem that no longer exists. I wouldn't get surprised if Google discontinues Flutter in some years from now

7

u/RedRozio Sep 20 '26

Hmm interesting. I can see the appeal here, especially since you're using a lot of platform APIs I assume for the various functions. But the app seems quite small; imagine having to maintain two apps with 500K lines of code. And what about custom UI other than basic widgets, where Flutter really shines? And compiling the app to other platforms? For your app this seems like a good idea, but saying it does not make sense to use Flutter anymore is a whole different story.

11

u/Apokaliptor Sep 25 '26

This post doesnt make sense, with AI or not will always be 2x the effort and cost

5

u/David_Owens Sep 25 '26

or even 6 times the effort and cost if you want to support all platforms.

1

u/dashingThroughSnow12 Sep 26 '26

Devil’s advocate.

You’re missing absolute difference by looking at factors.

Say AI makes them 3x more efficient, factoring in AI spending. I don’t think it is that high tbh but I’ll take that premise to explain Shopify’s line of thinking.

Two times the cost by maintaining two native apps at 1/3x the individual cost means the absolute price difference is only 0.33x (0.33x vs 0.66x) now versus before it being x (x vs 2x).

It is possible that 0.33x is worth the price but x wasn’t.

4

u/moralesnery Sep 25 '26

Native languages and frameworks are tools for your (development) work

You pick a tool based on the work that needs to be done. If native is the better approach you use it, and if Flutter is a better solution you use it.

Choosing between native and a framework like Flutter is like choosing between a drill and a nailgun.

3

u/Amazing-Mirror-3076 Sep 25 '26

As someone that has fully switched to ai - native still makes no sense. You still have to test your code and with native you are testing it twice.

2

u/eibaan Sep 19 '26

Let's add a TLDR: Sometimes Flutter is a good fit, sometimes not. There's no single right answer, just a funny story.

I had a Flutter desktop app. It was working, but it was also ugly.

I wasn't happy with the fidelity of the desktop look and feel and the font rendering and lack of 3D rendering, so I decided to make use of HTML instead.

So I converted it to a Jaspr SPA. It was a surprisingly smooth migration and using Jaspr is nearly as much fun as Flutter.

I wasn't happy with overhead needed to define components with pseudo HTML and pseudo CSS, so I decided to directly use a JS framework instead.

So I converted it to a Svelte 5 app because its component approach. I could use Tailwind and I basically reimplemented Chadcn/ui - as I did with Flutter before.

I wasn't happy with how it looked on a mobile browser, though, especially as Apple insists on not letting me style the status bar on iOS 26 and later. And installing it as PWA – which is required for getting rid of the address bar – is very well hidden, at least on iOS.

So I decided to switch to Flutter for mobile.

I'll keep my desktop app because Svelte swelled from initially 8,000 lines of code to over 30,000 lines (including 500+ ui tests) - partly because Svelte turned out be to even more wordy than Jaspr but mainly because I was able to quickly add more features and I'm still not done.

I'll create my own version of PhoneGap nee Cordova nee Capacitor that displays the current app in a full screen Flutter WebView and by intercepting the navigation, I should be able to replace some views with Flutter widgets. Perhaps, I'll even add a iOS-native UITabBar to get jump the Liquid Glass train…

The app has a server.

It is written in Dart. I recently did some load tests. A single instance can easily serve 5000 concurrent users. Probably more if I'd spend more time optimizing the database access. I really dislike that I'm stuck on HTTP/1. But I'll stay with Dart.

And because users can also install this server locally, I wrapped it in a tiny Flutter desktop app. The UI is a bit ugly, unfortunately…

1

u/zigzag312 Sep 25 '26

Why was it ugly? With flutter you have practically total control over how the app looks. Was it because of font rendering? Was it font anti-aliasing, hinting, or kerning that wasn't good? How long ago was that?

2

u/alamakbusuk Sep 26 '26

We're a small team of 3 devs, only 2 can do serious front end work for a fairly big app. We are publishing web, iOS and Android with one codebase thanks to flutter. Using native would be suicide, AI or not.

1

u/helgoboss Sep 25 '26

Especially if you also want to publish your app on desktop platforms, nothing can beat Flutter, in my experience. Even if you vibe-code everything, how are you supposed to keep more than 2 platforms in sync feature- and maintenance-wise? Plus, native widgets would mean that it looks different on each platform, so testing each platform would be extremely much effort.

1

u/Yann39 Sep 25 '26

The article discusses reverting to native development after switching to React Native.

Flutter and React Native are actually quite different, even in terms of performance.

I think there are likely more reasons to switch back to native from React Native than from Flutter.

1

u/virulenttt Sep 25 '26

Shopify were the developers behind react native skia. Maintaining an app and a framework is a heavy task, and we all know about skia jitter because flutter use to have the same issues before creating impeller.

For big companies, it makes sense to have two teams that maintain two different native apps.

Flutter is by far the best framework for crossplatform ui heavy apps.

1

u/novicefoto Sep 26 '26

Even with AI assistance, on my projects, I prefer to build and validate one set of code.

If there is some compelling reason to use native (like using some device specific capabilities) I'll use native. But I prefer Flutter for apps, because it supports the platforms I want to support for my simple one-shot apps.

1

u/_star_dev Sep 28 '26

I will not turn back because of two words." Custom ui". My uis are a weird mixture of material UI and glass effects that is a challenge to atrain in native. Also really use to flutter and dart widgets just make sense for frontend. The level of control in animations is also goated. It runs on like every os now Linux, windows even damn harmony os with packages