Basiswissen zu Dart
- Entstehungsgeschichte von Dart
- Einsatzgebiete von Dart
- Kompilierungsziele (Maschinencode, WebAssembly, JavaScript)
- Grundlegende Dart-Syntax und Struktur
Werkzeuge für Dart
- Installation der Dart-Entwicklungsumgebung
- SDK
- Editoren und Debugger (VSCode, Android Studio, IntelliJ, DartPad, Dart DevTools etc)
- Kommandozeilenwerkzeuge
- Statische Codeanalyse (Linter)
- Testwerkzeuge
- Ignore-Regel für die Quellcodeverwaltung
Daten
- Variablennamen
- Eingebaute Datentypen
- Typprüfung
- Konstanten: const vs. final
- Operatoren und Ausdrücke
- Record-Typen
- Typedefs
Kontrollstrukturen
- Bedingungen (if, switch, Guards mit when)
- Schleifen (for, while)
- Asserts
Funktionen in Dart
- Definition und Verwendung von Funktionen
- Parameter und Rückgabewerte
- break und continue
- Funktionen höherer Ordnung
Fehlerbehandlung in Dart
- Exceptions
- Throw
- Try…Catch
- Null Safety
Objektorientierte Programmierung (OOP) in Dart
- Klassen und Objekte
- Schnittstellen und abstrakte Klassen
- Vererbung, Polymorphismus, Abstraktion
- Konstruktoren und Destruktoren
- Enums
- Mixins
- Extension Methods
- Callable Objects
- Generische Klassen (Generics)
Objektmengen in Dart (Collections)
- Listen, Maps und Sets
- Iteration und Manipulation von Collections
- Spread Operator
Asynchrone Programmierung in Dart
- Future und Stream-Konzepte
- Verwendung von async/await
- Handhabung von Promises
- Isolates
Dart-Basisklassen
- Core (dart:core)
- Async (dart:async)
- Math (dart:math)
- Convert (dart:convert)
- IO (dart:io)
- HTML (dart:html)
Dart-Pakete (Packages)
- Nutzung von Dart-Paketen aus der Pub-Repository (https://pub.dev)
- Erstellung und Veröffentlichung von eigenen Dart-Paketen
Debugging und Testen in Dart
- Debugging-Tools und -Techniken
- Unit-Tests und Integrationstests
Best Practices und Code-Qualität in Dart
- Coding-Standards und Konventionen
- Patterns
- Code-Dokumentation
- Performanzoptimierung und Fehlervermeidung
Optional/nach Wunsch: Einsatzgebiete von Dart
- Kommandozeilenprogramme mit Dart
- Webentwicklung mit Dart und Flutter
- App-Entwicklung mit Dart und Flutter
- Desktop-Anwendungen mit Dart und Flutter
- Serverseitige Dart-Anwendungen (Webservices/WebAPIs)
Optional: Interoperabilität mit anderen Programmmiersprachen
- C
- Objective-C
- Swift
- Java
- Kotlin
- JavaScript