logoalt Hacker News

billynomatestoday at 8:19 AM0 repliesview on HN

Dart shipped in 2011, four years before Flutter started.

On the technical side, Flutter needed AOT compilation to native ARM for release builds and a JIT for development (that's what makes stateful hot reload possible). Dart does both from one codebase. TypeScript means shipping a JS VM, which is precisely the overhead Flutter was designed to avoid. (In contrast to RN). Dart's other big win is GC tuned for allocating and throwing away tons of short-lived objects which is what happens when you hot reload over and over.

Go has no JIT, so no hot reload, and no generics until 2022, Flutter has a big widget library so that would not have been possible.

And of course the Dart team was inside Google, and had just lost its original mission when Chrome declined to ship the Dart VM, and was willing to change the language to suit Flutter.