Hacker News new | ask | show | jobs
by kbcool 729 days ago
Since when was Flutter the "go-to solution for cross-platform development"?

Maybe for hobbyists but in the corporate space it's still React Native.

The problem with Flutter, and this extends even further with KMP is that the scope of your skills is limited to making mobile apps whereas with React Native you are learning and using skills that can apply to a complete stack.

KMP is even worse in this regard as they expect you to build two frontends (yes I'm aware of compose multi platform but it's a separate product entirely) so unless you have some crazy business logic that Dart or JavaScript can't handle you're sacrificing the largest benefit in cross platform app development for the smallest.

As for whether Google are replacing Flutter I think they made a massive PR goof with the launch and have introduced a lot of uncertainty. Possibly it's their long term plan but currently it's just a tiny niche product.

3 comments

All you have to do is google Flutter vs React Native

The trend for Flutter is a straight line going up and React Native is going down in popularity.

The trend was obvious many years ago, and just recently Flutter is now surpassing RN in nearly every poll.

This old myth is as old as the RN vs Flutter debate itself and I'm willing to help bust it again.

The simple answer is that when people have a problem or question about Flutter they simply key in Flutter. With RN they can ask about React, JavaScript, typescript, RN itself or one of the many components you use to make an app as it's the sum of a lot more parts.

So if Flutter didn't get more searches here I would be surprised and concerned.

The longer answer I'll just tease but suffice to say it's more complex than above.

It can come down to lots of things including the competency/experience of developers and maturity. As an experienced developer I might need to search for or ask about what I'm doing maybe 2 times a week. For someone getting started that might be that many times an hour. If you just looked at the two of us as a blob it might seem that whatever the other is using is more popular despite it being 50/50.

So yeah, number of searches or stack overflow questions or Reddit posts or whatever it is does not equal popularity.

Reworded, your claim is that RN developers are getting smarter over time, need to search less, and that new developers don't have questions, they just figure it out .. and some mix of reasons like this are why the RN searches are going down.

I imagine I am having a harder time swallowing this logic than you are looking at raw numbers.

No. Read the simple form of my response, the first part.

What you said was an example of one factor as to why it's more complex than the simple form for people who really want to dig down deep but on its own it's not an answer

The trend for Flutter is 10 to 50 apps, the trend for React Native is in the thousands
Unlike RN, Flutter is desktop worthy.
Hardly. Performance lags. Even after the new rendering engine. Try compiling and then running desk top samples (a mail client, a finance management tool) on macOs and check the amount of jank in animations.

Text fields are whole another story. They feel alien in UX on every platform.

I can live with that but performance is a deal breaker.

Yep, Flutter performance absolutely _sucks_ on older hardware, which they obviously aren't testing on.
On newer hardware too.
Well that's a shame, I don't have a new phone at the moment but was assuming it was at least somewhat fast on newer hardware.
Wow I have not had that experience on macOS.

MacOS support is so good that I've developed a MacOS app just for convenience so I don't need to open the iOS simulator.

Eh, I was recently contracted onto a native macOS team (Swift), the company had an adjacent desktop team who opted to use Flutter, they had a lot of problems and ended up dropping the project. I don't know the details but there was a lot of weird edge cases they ran into on desktop. They had a mobile app partially in Flutter (different team again) which seemed to be OK, however.
The problem with Flutter is that it's a UI framework that relies on a single main thread. If you put something heavy there, you'll get lag. In contrast, other languages like SwiftUI let you easily spawn threads. Flutter dismisses this as outdated and instead promotes an isolated model with completely separate memory... for reasons.
OK good to know, yeah, we even have a whole new concurrency model in Swift which makes offloading things a lot safer and easier than it used to be.
Unlike Flutter, React is web worthy
React Native for Web is not quite React.js as I understand.
> The problem with Flutter, and this extends even further with KMP is that the scope of your skills is limited to making mobile apps whereas with React Native you are learning and using skills that can apply to a complete stack.

I mean, Kotlin on the backend is quite good in my experience, I would say you can definitely run a full stack off of it.