5 ms·
I wish you success. I really like Dart and the concept of Flutter. However: I'm still waiting for a 100% Flutter-based iOS app published in the app store that
by tpmx 5y ago
I wish you success. I really like Dart and the concept of Flutter.
However: I'm still waiting for a 100% Flutter-based iOS app published in the app store that I can try to make sure that it does not have any apparent jank.
Yes, I know that Flutter 2.2 which launched a few days ago included tools designed to fight some of the sources of jank (e.g. bundling precompiled shaders) but after such a long time of promises from the Flutter team I just want to see a 100% flutter app hitting a solid 60 fps on my own phone, for real.
- judge2020 5y agoI think google pay[0] is entirely flutter[1] (how much is actually flutter is unknown). It does seem pretty slow, actually - it’s like it only plays every third frame when animating switching between the app’s tabs. 0: https://apps.apple.com/us/app/google-pay-save-pay-manage/id1193357041 https://apps.apple.com/us/app/google-pay-save-pay-manage/id1... 1: https://developers.googleblog.com/2020/09/google-pay-picks-flutter-to-drive-its.html https://developers.googleblog.com/2020/09/google-pay-picks-f...
- tpmx 5y agoHere's a subthread about Flutter jank/performance from the 2.0 release back in March: https://news.ycombinator.com/item?id=26333213 https://news.ycombinator.com/item?id=26333213 Back then at least one of the "featured" apps had key screens written in e.g. ObjC. Google Pay was also discussed.
- novok 5y agoMy current idea of how to do a non-javascript multi-platform app strategy: Apple SwiftUI for iOS & macOS. Flutter for Android, Windows, Linux and possibly a web client.
- tpmx 5y agoThat seems like a smart and pragmatic strategy. Thanks for sharing that idea!
- weego 5y agoYes in my business that I won't specify ios (last 2 revisions) + web users account for over 92% of revenue, with a whole scattering of android versions and related hardware back to 4.4 making up the rest. A native strategy for ios is absolutely worth the investment of resources and time and flutter will never cut it or be worth the risk of even a small % of users suffering some new bug. Android gets whatever is quick and easy just to to keep the business ticking on that side so flutter is perfect. Users do not and should not have to care or be exposed to your cost saving strategy.
- novok 5y agoWell my logic for flutter is it's made by google, so it's support for android & google chrome will always be far better. Supposedly flutter is basically google's next gen UI toolkit for fuscia, so it will probably stick around. Nobody focuses on windows or linux desktop, so it will be decent enough for them too. Google effectively owns the browser with chrome and flutter and chrome both use skia as their render system, so the likelihood of long standing bugs between them are reduced further. Apple doesn't like it when their biggest direct competitor tries to commoditize them, and are not a money maker like games, so they foot drag in subtle ways to make flutter not as good of a thing. I use iOS personally, so there is also a built in skill component there. If the company got really big, then I would probably do a native web UI because web developers are easy to hire relative to many other types.
- gozzoo 5y ago> Flutter for Android, Windows, Linux and possibly a web client. Wouldn't Jetpack Compose make more sense for these platforms? It is native for Android and is similar to flutter for web and desktop.
- novok 5y agoYou can't make desktop apps with android or jetpack compose. Find me one written with it that actually distributes their app that way vs. some emulation hack that nobody uses.
- gozzoo 5y agoActually you can. They have Compose for Desktop. I don't know how stable and mature it is tough. https://www.jetbrains.com/lp/compose/ https://www.jetbrains.com/lp/compose/
- tomduncalf 5y agoI wonder how far you could get using something like https://github.com/carson-katri/SwiftWebUI https://github.com/carson-katri/SwiftWebUI or https://github.com/TokamakUI/Tokamak https://github.com/TokamakUI/Tokamak to render the Swift app to a webview for the other platforms... I’ve not tried it, I imagine there might be jank and limitations as SwiftWebUI is “a toy project” but with some work could be a legit option - I’ve run pretty bespoke and complex React Native applications as desktop apps via react-native-web and Electron and it worked incredibly well. I do like the idea of only maintaining a single codebase, but of course it comes with significant trade offs. The idea of building for Apple-first but automatically getting a reasonable fallback for other platforms is quite appealing - as you say, for many businesses it probably makes sense to focus on having the most polished iOS experience possible. Honestly I’ve been quite impressed with the end results we’ve got from React Native, but you are always going to be lagging behind the native platform.
- novok 5y agoI'll be frank, the developer experience of swift is horrible. Webdev with typescript, their instant response times in development, lack of compiling and lack of an update cycle (the URL is always the latest version, whether you like it or not) is way more productive than compiled iOS dev. Swift is only good for macOS and iOS effectively now. Flutter devex is also faster and more responsive, but it just doesn't quite make as a good of a product on iOS. iOS users are higher revenue and have higher standards than android users also.
- markdog12 5y agoLooks like the fix didn't make it in 2.2 :( https://github.com/flutter/flutter/issues/32170#issuecomment-844287595 https://github.com/flutter/flutter/issues/32170#issuecomment... Comment here links to before and after videos: https://github.com/flutter/flutter/issues/79298#issuecomment-823605168 https://github.com/flutter/flutter/issues/79298#issuecomment...
- fauigerzigerk 5y agoI'm waiting for Flutter to stop draining the battery. On my Mac, a single TextField with a blinking cursor inside uses somewhere between 10% and 20% CPU. This is a complete show stopper for me.
- klunger 5y agoThere must be something else going on that you are not aware of hogging the CPU. This cannot possibly be the source of that.
- jiofih 5y agoI wouldn’t discard it so easily - flutter does all drawing and compositing on its own, without using system libraries. Could easily be redrawing the whole screen.
- fauigerzigerk 5y agoI'm simply observing the CPU usage of the Flutter app when a TextField gets the focus. I don't see why it matters whatever else may be hogging the CPU as well. I tried it on macOS as well as on the iOS simulator and on the web, but I haven't tried the latest version yet. You can try the web version here: https://gallery.flutter.dev/#/demo/cupertino-text-field https://gallery.flutter.dev/#/demo/cupertino-text-field Edit: I have now tried the latest version (2.2) and I'm seeing 12% CPU usage for an idle app with nothing but a focused TextField.
- shadowfu 5y agoJust out of curiosity; do you see these while running in profile / release mode?
- mleonhard 5y agoFlutter in iOS Simulator will drain my laptop's battery in an hour. It's quite frustrating. Pre-pandemic, I often worked in cafes and libraries and purchased a long power cable to use when I need to work with Flutter and can't get a seat next to an outlet. https://github.com/flutter/flutter/issues/21445 https://github.com/flutter/flutter/issues/21445 https://github.com/flutter/flutter/issues/31865#issuecomment-504173911 https://github.com/flutter/flutter/issues/31865#issuecomment... https://github.com/flutter/flutter/issues/33833#issuecomment-600788512 https://github.com/flutter/flutter/issues/33833#issuecomment... I think Flutter Team (and most ppl at Google) are entirely focused on pushing out new features which they can cite on their performance review docs to get higher pay. Few of them focus on user needs. This is why Flutter built Web and Desktop support before finishing Mobile. Flutter Mobile things left undone: no high-quality location module, long-standing bug in camera module on Android, missing Cupertino widgets, a few missing Material widgets (date-time picker), critical info missing from docs, and missing non-trivial examples.