- UX: Again I agree. It's not there yet. But due to Flutter being based on low level APIs, there is nothing preventing it to mimic any platform's "feel". This is also still being improved. While Flutter will UX probably never 100% match any OS's native UX, as it implements everything on it's own, it could reach the same UX quality.
- Web: IMO, Flutter weakest platform. Let's see what WasmGC support brings.
I would add fourth problem: Dart. It's not a bad language, but it is years behind with features, performance is currently the same as JS (even though it's statically-typed, AOT compiled language), ecosystem is small and it tries too hard to keep compatibility with JS target (eg. no proper unsigned 64-bit ints).
So, currently there are still some moderate issues with Flutter. But its foundations are good. It all depends on Google to keep investing in Flutter.
Sure, consistency and familiarity matter, but IMO it's not like every deviation destroys the experience. If that were the case, UI/UX of iOS should have stayed the same since v1.0.
"Flutter is a manifestation of everything wrong with Google as a company. A language that should have (and did) fail but kept alive. Control of the two most popular platforms on the planet and failing to unify them while allowing a third to be created that actively undermines both"
https://twitter.com/JakeWharton/status/1421139368467632136
You also see this from Flutter's point of view on Tim's tweets
"That all happened, and set a bar that others had to invest heavily to compete with. Jetpack Compose was essentially a Kotlin clone of Flutter, literally to the point of translating large chunks of code."
To this day, Flutter is yet to be part of the official SDK tooling.
Wrapping native controls often means being limited by a lowest common denominator in cross-platform scenarios.
JetBrains is the one that decided to take it beyond Android.
Do you think Jetpack Compose could be made multiplatform in Flutter's way (ie drawing its own controls on all platforms)?
Shortcuts don't work, accessibility doesn't work, integration with OS workflows might not work, lags behind any OS updates, there is Look but no Feel.
The Google's own Family Link app even on web[0] is also a Flutter app.
What sucks is that the non-selectable text is apparently the default.
Other than that I agree - Flutter web is not going to be a good choice and that was never really the goal for them, I believe.
Postback never died.
Flutter would be far from being the first framework to do this.
No it is not. Mobile apps are thriving. It is desktop apps that are niche now.
> ditching Flutter and using web tech for mobile too sounds like the better bet?
Quite possibly yes.
Either go mobile Web, or native.
They use Jetpack on Android
https://github.com/vector-im/element-x-android
And SwiftUI on iOS
https://github.com/vector-im/element-x-ios
But both use the same underlying Matrix Rust SDK
https://github.com/matrix-org/matrix-rust-sdk
So they share the core part of the app between platforms, but everything user facing is native
(oh, and QT supports 3d, on the web, on android, on ios, and on desktop, even on microcontrollers if needed)
And yes, Javascript's advantage has been that it was cross-platform pretty early on. Not particularly fast though, not even decades later.
And everybody keeps pointing out the same shortcoming: these frameworks let you share a lot of code, but mostly not the actual "View" (the V in model/view/controller) code, due to screen sizes, whether the UI can be resized, extra functionality (e.g. statusbar/notifications/...)
That's why new frameworks come out, because "why can't notifications on Windows work the same as on android?". "Why not just share UI?". Unfortunately, there's very good reasons they cannot work the same ... So a couple years in, these frameworks develop the exact same problems.
Xamarin/mono already tried almost the same approach years ago and it clearly failed..
It's not ready as a full platform though like mobile & desktop, that's for sure.
I hope they solve the problems above, but it's not really anything that keeps Flutter developers awake at night.
This problem is mentioned whenever Flutter is discussed.It's been several years already. Seriously, they have a ton of smart people there, how it's not their number one epic? Unless, well, it's an architectural problem and nothing can be done - but then why continue the project at all?
- Performance: Even on Desktop, animations have jank. Last I compiled samples on Mac, the problem was visibly there.
- UX: Text editing immediately feels alien. If Mac for example, you have a text field in a native app and on the side you have a flutter app with a text field, you can tell the difference between the "feel" when you type in each. This isn't necessarily limited to text fields alone.
- Web: surely is possible but you have to dumb down your application so much. You cannot use libraries from JS ecosystem so lot is left on the table. Imagine High Charts, d3.js and such. Say goodbye to them when you're on Flutter Web.
Lastly, from the tone of it, seems like Flutter is on the way to join Google Reader and such. Gradually.