38 ms·
It compiles AOT to native code and supports tree shaking. It also has JIT mode with hot reloading/restarting. It has sound null safety and is statically typed.
by zigzag312 3y ago
It compiles AOT to native code and supports tree shaking. It also has JIT mode with hot reloading/restarting. It has sound null safety and is statically typed.
It's not a bad language. It just lacks some needed features. They'll probably get implemented over a span of a few years.
Ecosystem is small, but at least there's FFI interop.
It also has some baggage from it's early days when it was meant as JavaScript replacement. Since we now have WASM (and soon WASM-GC) I think it would be best, if compilation to JS would be dropped, so more low level features can be implemented.
- SpaghettiCthulu 3y ago> It's not a bad language. I agree. The team behind the language is the real problem. > It just lacks some needed features. They'll probably get implemented over a span of a few years. For years they have dismissed calls to add multi-threading in the language, despite it being sorely needed for anything computationally non-trivial (isolates have ridiculous overhead).
- bsder 3y ago> Ecosystem is small, but at least there's FFI interop. FFI continues to be a disaster (to be fair, this is not unique to Dart/Flutter). The biggest problem with any cross-platform system on mobile is always getting performance out of the native interop. It's often easier to ship a computation to a server on the web and ship teh result back rather than execute it natively on another thread on the bloody phone. It's infuriating. We have a zillion cores, and every single phone OS tries it's damnedest to prevent you from using them because, heaven forbid, you might actually use up some of the battery. The Horror! The Horror! The cross-platform systems for phones are really good at doing puzzle games or CRUD. Step outside of that and you enter "Here Be Dragons" territory very quickly.