Has sound null safety.
// cannot be null
String name = "Min Hen";
// nullable
String? nickname;
// Safe access:
print(nickname?.length);
// Force:
nickname!.length
Futures (Async)
Future<String> fetchUser() async {
await Future.delayed(Duration(seconds: 2));
return "User";
}
Use Isolates (communicate via message passing)
Main Isolate (UI)
|
| message passing
|
Worker Isolate
Dart Code
↓
JIT Compiler
↓
Machine Code (runtime)
Dart Code
↓
AOT Compiler
↓
Native ARM / x64 code