5 ms·
Flutter is DOA, IMO. It has two fundamental mistakes, each of which is probably fatal. (1) non-native controls. The problem is it takes a lot of work to catch
by jmull 5y ago
Flutter is DOA, IMO.
It has two fundamental mistakes, each of which is probably fatal.
(1) non-native controls. The problem is it takes a lot of work to catch up and keep up with native controls. This is a cross-platform SDK, so multiply that by all the platforms. You end up doing a massive amount of work to achieve a lowest-common-denominator, janky, low-quality experience.
(2) custom language. There's a lot of unnecessary friction here.
Maybe Google will keep paying for it anyway... but I doubt it.
- T3RMINATED 5y ago
- mmastrac 5y agoDart is particularly bad. I tried to enjoy using it but I just cannot. I don't understand why they didn't choose Typescript. It felt like they couldn't use it for anything else so it was mandated that people use it somewhere.
- dundarious 5y agoThis is really some armchair psychoanalysis on my part, totally not worth anything in the way of intellectual attention, but I always found this interview with both Typescript and Dart leads to be interesting. https://youtu.be/5AqbCQuK0gM https://youtu.be/5AqbCQuK0gM I can't help but infer that Lars is quite often a little bit frustrated with the emergence of Typescript. But on top of it being embarrassing for me to imagine up such personal rivalries based on hardly anything, you could view the interview as Dart-hostile given the interviewer.
- sofixa 5y agoDart predates Typescript by a year, so you can turn your question to why didn't Microsoft use Dart instead of creating Typescript :p
- anaisbetts 5y agoThey didn't use JavaScript / TypeScript because of AOT requirements on iOS (Flutter actually was originally prototyped with JS as the language). Dart was mostly chosen for its runtime, which allows both Hot reload at dev time, as well as full AOT compilation to get native speed on iOS. React Native runs a JS interpreter to get around this on iOS and as a result is an order of magnitude+ slower
- _0w8t 5y agoThe speed is fixable. Performant AOT is very possible with Typescript. But if Facebook is not doing it, then the performance is good enough for them. Plus one can always code the problematic part in the native language.
- anaisbetts 5y agoI am merely reporting why they made that decision years ago, I don't know what to tell you
- mort96 5y agoHuh, which AOT compilers for JavaScript exist which achieve high performance? I thought JS as a language 100% depended on the runtime information available to a JIT for decent performance?
- anaisbetts 5y agofpoling is referring to a _theoretical_ TypeScript compiler that doesn't actually exist in real life but could be written, that the Flutter team would apparently summon from the aether whole-cloth then proceed to maintain feature-for-feature parity with the official TypeScript compiler
- mort96 5y agoWell, you wouldn't have to maintain feature parity with Microsoft's TS compiler. If you had some magical ES5 AOT compiler, you could just compile your TS to ES5 using the official TS compiler and then AOT-compile your ES5. No evolving spec to keep up with (at least as long as the upstream TS compiler maintains ES5 support). I'm really just curious about how one would AOT-compile a language as dynamic as JavaScript (be it TypeScript, ES3, ES5, or anything else) and achieve JIT-like performance.
- onli 5y agoJust to give a counterpoint to this, I love Dart. My preferred language is Ruby and Dart certainly is not Ruby. But it also makes me a bit happy when writing it: It's easy to understand and clean enough. The typing system is done well enough that it does not get in the way as much as early Java did. There were very few surprises with Dart. It has limitations (especially when trying to incorporate more functional patterns and felt when working with JSON), but I can work with that. Most of the time I can just write the code I want, organize it as I want and the Code will look as expected. No blockers there. Typescript would not have been a plus for me.
- PedroBatista 5y agoIt has been a pretty big arrival and huge bang to kill Flutter judging by your assessment, because when Flutter first started to be developed it was a pretty big success regarding what it delivered ( and promised to deliver ) even if it clearly wasn't ready for "production" ( this is 5-6 years ago ) and by initial success I mean people cheering and paying close attention to it. Now it's clearly a success because the alternative is Phonegap and all it's offspring ( ReactNative kinda included ). It's compelling enough for people to learn a different approach to UI building ( new for most people coming from Web ). There always be a "lowest-common-denominator", but with Flutter and for most types of app it's a pretty high denominator.
- _fat_santa 5y agoAnother thing that doesn't get mentioned is React Native is much easier to staff talent for. Flutter can be better than RN in every single way and companies will still choose RN because it's easier to integrate into the org. If you have a webapp built in React, it's going to be very easy for you to spin up a React Native app, mostly because you can pull those React devs into RN without much of a fuss. With Flutter/Dart though, you will have to hire outside specifically for the role, even if you hire a "React Native" developer, it will be easy to transition that dev to regular React if org needs change, Flutter/Dart are more brittle in that way.
- krzat 5y ago(1) is essential to flutter's success, otherwise each new release of every new system would break something and introduce bugs. Flutter will never provide native feel and that's not the point.