4 ms·
Flutter has three major problems: - Performance: Even on Desktop, animations have jank. Last I compiled samples on Mac, the problem was visibly there. - UX: T
by wg0 3y ago
Flutter has three major problems:
- 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.
- rapsey 3y agoFlutter is mainly a mobile framework. Electron owns the desktop, anyone using flutter on the web is crazy. While you're points are valid, they are kind of irrelevant.
- wg0 3y agoThe marketing literature begs to differ. The Google's own Family Link app even on web[0] is also a Flutter app. [0]. https://familylink.google.com https://familylink.google.com
- rapsey 3y agoWell marketing and reality is not the same thing.
- wg0 3y agoYes there's a mismatch. As a user one should dial down their expectations accordingly.
- vincnetas 3y agoDamn, what have we come to. I cant select text from a webpage. This is not what our grandfathers fought for :(
- s6ro 3y agoDevelopers have control, if text is selectable or not. https://api.flutter.dev/flutter/material/SelectableText-class.html https://api.flutter.dev/flutter/material/SelectableText-clas...
- anonymoushn 3y agoThat sucks :)
- thiht 3y agoThey shouldn't.
- mort96 3y agoFWIW developers have control over that on the web too. What sucks is that the non-selectable text is apparently the default.
- devbent 3y agoThat website breaks the back button, on Android...
- anonymoushn 3y agoAnd on desktop Chrome!
- drcongo 3y agoIronically, that page just shows me "Something went wrong" which I guess proves your point somewhat.
- thiht 3y agoThis is awful. Text is not selectable and the back button is broken. Nice work coming from a multi-billion $ company.
- mort96 3y agoWow, the first thing I’m met with is a terribly choppy scroll rubber banding animation on a view which shouldn’t even be scrollable. Not only isn’t it 120 FPS; it doesn’t even feel close to 60.
- vincnetas 3y agoSo what's the reason to pretend that you're also a web/desktop framework? This only limits you in mobile if you have to always consider web/desktop.
- MrDresden 3y agoFrankly just the standard practice of over-promise and underdeliver, for marketing purposes. Flutter would be far from being the first framework to do this.
- realusername 3y agoThe web target is not completely useless, if you want to add some kind of app demo on your website, it's pretty good for that purpose. It's not ready as a full platform though like mobile & desktop, that's for sure.
- mikhael28 3y agoOur sales team uses the web version of our mobile app to do sales presentations. It is very useful.
- rob74 3y agoSo then, if you want to have a really cross-platform app, ditching Flutter and using web tech for mobile too sounds like the better bet? Or, otherwise said: if Flutter is only relevant for apps, that's a pretty small niche.
- candiodari 3y agoYou know, this is a solved problem. Qt, for example, can easily do it (and has been able to do it for 10+ years, from microcontrollers to phones). And, just saying, QT is damn fast, a necessity if you want to work on microcontrollers of course. And yes, you can do it without royalties, without paying for QT, and in multiple languages (at least C++ and Python work pretty well). (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.
- rapsey 3y ago> if Flutter is only relevant for apps, that's a pretty small niche. 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.
- rob74 3y agoI meant it's a small niche for Flutter to address only the apps that want to be cross-platform, don't want to invest into having "native" iOS and Android versions, but are Ok with using a different technology for desktop/web (or don't need those).
- ffgjgf1 3y agoThen it’s not bringing something particular new or useful to the table? Xamarin/mono already tried almost the same approach years ago and it clearly failed..
- rapsey 3y agoDid it fail because it is impossible, because of poor execution, poor dev experience or it was simply too early? Flutter seems to be quite popular.
- pjmlp 3y agoAll these frameworks are leaky abstractions, they only avoid mastering the underlying platform as long as people stay on the happy path.
- sgt 3y agoThere is a use case for Flutter Web and that is an extremely simple user interface such a form or a simple workflow, which can share code with e.g. a mobile app. 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.
- rapsey 3y agoExtremely simple user interface can be done in anything and code sharing is irrelevant for it though.
- sgt 3y agoFair enough, but if the interface is simple yet has somewhat complex validation logic, it may just make sense.
- rokkitmensch 3y agoIn that case, would be wrong with...a form? Postback never died.
- sgt 3y agoI do not see these as three major problems, simply because your arguments refer to use cases that very, very few Flutter developers actually care about. Flutter is a native mobile app framework. I hope they solve the problems above, but it's not really anything that keeps Flutter developers awake at night.
- pjmlp 3y agoFourth, it was never wanted from the Android team, with key figures like Jake Wharton having issues with it, "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 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.
- zigzag312 3y agoDoesn't Jetpack Compose use native controls while Flutter implements its own controls? Wrapping native controls often means being limited by a lowest common denominator in cross-platform scenarios.
- pjmlp 3y agoJetpack Compose is the new native controls framework for Android. JetBrains is the one that decided to take it beyond Android.
- zigzag312 3y agoMy mistake. I was thinking of Compose Multiplatform. Do you think Jetpack Compose could be made multiplatform in Flutter's way (ie drawing its own controls on all platforms)?
- pjmlp 3y agoMaybe, although as proven multiple times, that has lots of issues with platform integration. 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.
- zigzag312 3y ago- Performance: I agree it's not there yet. But it's still improving. There is currently major Skia to Impeller migration in progress. It look like Flutter should be able to reach good performance once it matures. The only long term limiting factor regarding performance is declarative architecture of Futter, which adds a bit of overhead. - 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.
- mort96 3y agoIt doesn’t matter if Flutter reaches the same UX “quality”. What matters is that it will never feel native. I agree with you that this is a fundamental problem which pretty much can’t be fixed.
- zigzag312 3y agoDoes 100% native feel really matter that much? How often do you encounter situation where you feel your experience is worse because UI/UX isn't same as native, even though the quality of UI/UX is equal to native (not worse in any way, just different)? 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.
- benterix 3y ago> - Performance: Even on Desktop, animations have jank. Last I compiled samples on Mac, the problem was visibly there. 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?
- mikhael28 3y agoWe don't support the MacOS/Windows/Linux variants, but our Flutter app's web performance is amazing. I'm honestly not sure why people seem to think the performance isn't good.