4 ms·
People care about battery drain: https://github.com/flutter/flutter/issues/59327 https://github.com/flutter/flutter/issues/59327 I have turned pessimistic on F
by fauigerzigerk 3y ago
People care about battery drain: https://github.com/flutter/flutter/issues/59327 https://github.com/flutter/flutter/issues/59327
I have turned pessimistic on Flutter after they failed to fix this catastrophic issue for years, and I'm not someone who is ideologically opposed to cross-platform UI technologies in general.
Imitating native user interfaces takes a huge and continued effort. It's always a step behind and in danger of falling further behind. How long until it gets defunded?
- satvikpendem 3y agoIt does suck that Flutter doesn't have as much bandwidth for people working on it as I'd like, but I'm not sure there's much one can do short of directly contributing and sending PRs, which it seems the author of that issue has done for a temporary fix.
- fauigerzigerk 3y agoThe "temporary" fix is to allow developers to disable the cursor animation, i.e deviate from the native look & feel. After almost four years of saddling every Flutter app that uses text input with anywhere between 5% and 20% CPU usage, this is what they have come up with. What this tells me is that it is neither possible nor beneficial to imitate native UI toolkits using a completely different technology stack. It's simply the wrong architecture.
- satvikpendem 3y agoWell, I guess there's no free lunch after all. At least it's better than Electron in that it's compiled code, and that it works on 6 different OSes.
- fauigerzigerk 3y agoI disagree. Web technologies are highly optimised for what they do (i.e text field uses 0% of CPU), run compiled code on all platforms and don't waste resources on chasing this unachievable and pointless native fetish. I don't understand your position. You're saying (correctly I think) that most users don't care about native. But then you turn around and choose an immature technology that spends a significant share of its budget on trying and failing to imitate native. The bug I cited betrays the priorities of the project. They chose to prioritise chasing "native" over fixing a critical bug for many years. Also, look at the large amount of investment going into web technologies - WebAssembly, WebGPU and many others. Even much criticised Apple is putting in a lot of work. I don't think the completely isolated Flutter/Dart team will ever be able to compete.
- satvikpendem 3y agoAnd how are those web technologies going for the bloat of Electron? There is no free lunch. Flutter binaries and runtime are orders of magnitude smaller and faster than web technologies. True, they shouldn't be chasing native, but it's still better than what we have currently with trying to cover 6 OS with web technologies.
- fauigerzigerk 3y agoNot sure why you keep harping on Electron. It's not even available on mobile and choosing to distribute an entire browser engine with every single app is not the same thing as choosing web technologies in general. The Dart runtime isn't any faster than V8 either.
- satvikpendem 3y agoMy point is that web technologies are quite poor for building multi-platform apps, something which Flutter excels at, even as it has its own issues. I consider those a worthwhile trade-off. I don't understand the points you're making, first you talk about battery drain, fair, then you talk about native, but it seems like you're missing the fundamental benefit of why some devs choose Flutter, which is that it works everywhere you need it to, and fairly fast, too. People use Electron for this generally, so that is why I brought it up, and I am saying that Flutter is a better alternative to Electron and other web technologies, and I am not sure exactly what you mean by web technologies, but I colloquially understand that to mean HTML, CSS, and Javascript. They are good at things like text rendering at 0% CPU precisely because they've been honed over decades, something which Flutter has not yet been able to. The compiled code from Dart is faster than V8, even simply by virtue of being AOT compiled instead of JITed, not sure where you saw that it wasn't any faster. Also, web technologies do not run compiled code on every platform, they don't run compiled code on any platform, I'm also unsure of where you're making that claim from, unless you're talking about WASM which is still a ways away, and something that Flutter leverages too already (see their work on pushing WASM GC as well as their experimental build of Flutter Web with WASM GC), so it's not unique to web technologies like HTML, CSS, and Javascript.
- zigzag312 3y ago> What this tells me is that it is neither possible nor beneficial to imitate native UI toolkits using a completely different technology stack. It's simply the wrong architecture. IMHO, UI toolkits based on low level technology stack are the future. It just that they are massive undertaking. It's not impossible to implement cursor animation with low CPU usage.
- littlestymaar 3y ago> People care about battery drain: https://github.com/flutter/flutter/issues/59327 https://github.com/flutter/flutter/issues/59327 Yes, but this is a completely different topic.
- fauigerzigerk 3y agoNot if the topic is choosing a technology stack for mobile development. Battery usage is an absolutely key consideration. It's the one thing that many users will notice even if they don't care about tiny UI differences.
- littlestymaar 3y agoExcept you were posting on a sub-thread discussing the importance of those “tiny UI differences”. Also, battery usage isn't a native vs portable UI toolkit thing, it's an issue when using Flutter but can also be an issue when using SwiftUI.
- fauigerzigerk 3y ago>Except you were posting on a sub-thread discussing the importance of those “tiny UI differences”. Not true. The sub thread was about whether or not users can tell the difference between native and cross platform apps, specifically Flutter, and whether they care. satvikpendem wrote this: "Good for you, but most people can't tell nor do they care, given that I've shipped Flutter apps across thousands of users, both consumer and enterprise, whom we collect feedback from. Not once did anyone complain about the app visuals or performance itself" The context is everything and anything that users could notice and provide feedback on, not just visuals. Also, I think you may have missed the link in my argument between battery usage and the attempt to imitate native visuals.
- littlestymaar 3y agoSigh … It's 2023 and somehow some people still don't know how to use internet discussion boards… Come on, you've been lurking in there for the past 16 years! The original messages in the sub-thread [1] and the message you were responding to[2] were about UI/UX. Had you responded to the even higher level comment you are referring to[3], then you'd have been on-topic… The same way, if you started to criticize Crux (the topic of the OP) at this point of the thread, you message would be completely off-topic as well. [1]: https://news.ycombinator.com/item?id=37699475 https://news.ycombinator.com/item?id=37699475 [2]: https://news.ycombinator.com/item?id=37699571 https://news.ycombinator.com/item?id=37699571 [3]: https://news.ycombinator.com/item?id=37699185 https://news.ycombinator.com/item?id=37699185