5 ms·
I feel that Flutter raised very high interest but it has fallen behind its expectations. Not that trendy anymore.
by pepalgarid 5y ago
I feel that Flutter raised very high interest but it has fallen behind its expectations. Not that trendy anymore.
- udbhavs 5y agoI was surprised to see how janky the gallery demo app is on mobile, especially considering Dart is AOT compiled. Apparently Flutter is single threaded too and has a feature called "Isolates" but I'm not sure if they can be used to paint animations off the main thread
- dsissitka 5y agoHave you tried it recently? When I tried it a couple of weeks ago on an old Android device (Pixel 3A) there was a little jank. Then I tried a couple apps bundled with Android and was surprised to find a comparable amount of jank. I've heard it's worse on iOS though.
- Comevius 5y agoThe gallery demo app is janky on old Android devices with bad GPU drivers, and janky on iOS because of Metal, but those issues are being solved. The main issue with iOS and Metal is the shader compilation jank, for which the workaround is shader warm-up that can be automated, but requires an effort from the developer. Dart is single threaded, but the event loop is better than threads for most things, except heavy calculations, but that's what isolates are for. This is probably the best way to do it even in C when latency is important. CPU schedulers tend to leave you with less control over latency when there is underutilization or yielding.
- kkjjkgjjgg 5y agoWhat is the current go to solution for cross platform apps?
- shrewduser 5y agonothing really great yet, but i'm hopeful for kotlin multi platform and compose
- occz 5y agoIf I had to bet on one path forward, this would be it. Shared-nothing View layers and then building the rest of the layers for sharing with KMP. I have yet to give it a serious try, but it seems to be the least bad alternative out there.
- bengold14 5y agoReact Native + Expo. Expo has been making unbelievably rapid progress with tooling, documentation, consistent, high quality API's and general improvements. Evan Bacon + team are really impressive to watch
- deleted 5y ago[deleted]
- pzo 5y agoThere is no clear winner here yet. Every solution has pros and cons. 1) Need mostly cross platform desktop and using hardware extensively (bluetooth, camera, audio, nfc, sensors, etc.) -> Qt 2) Have web expertise or need easily to find well paid job and need mostly web, android, ios app -> React Native 3) Need only iOS, Android app that is mostly custom UI with some smooth animation mostly for some side project (not many jobs in the market comparing to React Native or iOS/Android Native) -> Flutter
- sdflhasjd 5y agoIt's always been dart that put me off. For flutter apps supposedly compiling to native code, I don't like using a language that was apparently designed to live within the constraints as a web-based language. There are many other languages that I would rather use instead.
- mhoad 5y agoI suspect that mid term this is going to be changing. There is currently a big behind the scenes push to move the web target to Wasm (dependent upon Wasm GC landing in some kind of reasonable timeframe). At that point I suspect you will see the importance of compiling to JS declining rapidly. Side note: The other major push that seems relevant to some of the other comments here is they are also looking to redo the shader pipeline from scratch and make that AOT compiled as well because right now it tries to just JIT all of that and it isn’t always very predictable as a result. [1] So combining that along with a WASM target I actually feel super bright about the future of Flutter as a tech choice on web, desktop, mobile etc… They have some more detail about both of these things in their Roadmap [2] if you’re interested. [1] https://github.com/flutter/impeller https://github.com/flutter/impeller [2] https://github.com/flutter/flutter/wiki/Roadmap https://github.com/flutter/flutter/wiki/Roadmap
- pzo 5y agoI think they are planning to use wasm as target for Web. They don’t have any reason to compile to wasm on mobile when they already can compile to native. WASM is equivalent of JVM and I doubt they will start providing binding to different languages. Even if they do Dart would be the still main language on this platform in similar vein like Java/kotlin is the main language on JVM - JPython, JRuby, Groovy are irrelevant. I also don’t think JavaScript/Typescript will get irrelevant in WASM - for the same reason even though you currently can compile CPython to wasm
- ratg13 5y agoI am not a programmer by trade, but I do build apps occasionally. Dart is a relatively simple language and you'll get the hang of it quite quickly. The widget-tree framework of flutter makes it easy for you to just have small amounts of code that all chain together, and it becomes easier to find your mistakes and grow your platform. I recommend going for it if you have an interest.
- pzo 5y agoI think they should give up on Flutter for Web and just focus on mobile and desktop (and maybe extend use on Smart Watches, Smart TV, embedded instead). Too many people still remember Java Applets, google's GWT, Flash/Flex and how it ended. They are out of focus trying to support Web as well. I had also higher expectation regarding Dart FFI - I think with their ffigen we are still only in ctypes like python bindings territory. Nowhere near something like pybind11 [0] for c++ bindings yet. [0] https://github.com/pybind/pybind11 https://github.com/pybind/pybind11 [1] https://github.com/mozilla/uniffi-rs https://github.com/mozilla/uniffi-rs