Dart compiles ahead-of-time to machine code, a functionality JS hasn't got.
I thought it was only the Flutter framework code that compiled AOT to machine code since it's underlying graphics library is SKIA(written in C++).
I gut (π I don't know what am taking about would be glad to hear some clarification) tells me "vanilla" Dart is interpreted as you need the dart VM hence it compiles Just in Time.
Cool, thanks for pointing out the difference. I am aware that Skia is what is being used to draw the graphics on the screen. Presently AOT is exposed for Flutter and hopefully in future will be available on other platforms.
I thought it was only the Flutter framework code that compiled AOT to machine code since it's underlying graphics library is SKIA(written in C++).
I gut (π I don't know what am taking about would be glad to hear some clarification) tells me "vanilla" Dart is interpreted as you need the dart VM hence it compiles Just in Time.
Flutter's framework code is written in Dart. It's Dart that contains the capability to compile to machine code, which Flutter uses. If running in the VM then sure it does JIT, in some scenarios with VM snapshots.
I think it's important to point out that there is a difference between "Flutter"(DartVM + Skia) & "Dart"(just the DartVM)
While it's true that Flutter's high level API is in pure Dart, the underlying engine is not.
Flutter's engine is powered by Skia written in C++.
Skia does the heavy lifting when it comes to painting the UI to screen. C++ for the graphics is why I suspect Flutter can compile to AOT
Vanilla Dart cannot be compiled AOT i.e to machine code it needs a VMEDIT: It seems AOT compilation has been available for vanilla Dart since version 1.24.
It's just that no one really knows how to use the feature besides the Flutter core devsπ
Cool, thanks for pointing out the difference. I am aware that Skia is what is being used to draw the graphics on the screen. Presently AOT is exposed for Flutter and hopefully in future will be available on other platforms.
Dart now has instructions for AOT dart.dev/platforms#optimized-produ... :)