zurück zur Tech-Wiki
Tech-Wiki/Sprachen
D
Dart
Optimierte Client-Sprache für Flutter, mit AOT/JIT-Compile.
·Google·BSD-3-Clause
Übersicht
Was ist es?
Dart ist Googles client-optimierte Sprache, Hauptzielgruppe Flutter. Stark typisiert, AOT-compiled für Production, JIT für Hot-Reload, Sound-Null-Safety seit 2.12.
Quickstart
brew tap dart-lang/dart && brew install dart
dart create -t console-simple my_app
cd my_app && dart run
Üblicherweise als Teil der Flutter-Toolchain installiert.
Typische Patterns
- Null-Safety:
String?vsString,latefür deferred init,!nur wenn wirklich nicht-null. - Pattern-Matching + Records (Dart 3):
(int, String) parse(String s) => (1, 'ok'); switch (result) { case (final code, final msg) when code < 400: ... } sealed classfür exhaustive Switches (Discriminated Unions).freezed+json_serializablefür immutable Data-Classes mit Code-Gen.- Streams + async* für reaktive Pipelines.
Gotchas / Was oft schiefgeht
- Async ohne
await→ Future läuft im Hintergrund, Errors verschluckt. Lintsunawaited_futuresaktivieren. ==ist Identitäts-Vergleich für Objekte ohneoperator ==-Override —equatable/freezednutzen.const-Konstruktoren maximieren Performance (Widget-Tree-Diffing) — aber nur möglich, wenn alle Args const sind.- Build-Runner für
freezed/json_serializablemuss separat laufen:dart run build_runner watch. - Generics sind reified — Type-Checks zur Runtime möglich, kostet aber.
Wann nicht?
Außerhalb von Flutter / AngularDart hat Dart wenig Ökosystem. Server-side / CLI → Go, Rust, TypeScript haben mehr Tooling.