Kompleksowy samouczek języka Dart oparty na Dart SDK 3.13 , obejmujący pełną
specyfikację językową, programowanie asynchroniczne, Isolates, Streams oraz
najważniejsze elementy biblioteki standardowej. Każdy moduł zawiera wyjaśnienia
teoretyczne, przykłady kodu oraz ćwiczenia praktyczne.
Nr
Moduł
Poziom
Opis
1.1
Zmienne i typy danych
beginner
Rozróżnianie deklaracji var, final, const i late oraz wbudowanych typów danych i mechanizmu wnioskowania typów.
1.2
Operatory
beginner
Przegląd wszystkich kategorii operatorów w Dart, ich zachowania i priorytetów.
1.3
Null safety
beginner
System sound null safety, typy nullable i operatory null-aware oraz zmienne late.
Nr
Moduł
Poziom
Opis
2.1
Typy generyczne
intermediate
Wprowadzenie do typów generycznych zapewniających bezpieczeństwo typów i reużywalność kodu.
Nr
Moduł
Poziom
Opis
3.1
Instrukcje warunkowe i pętle
beginner
Sterowanie przebiegiem programu za pomocą if/else, pętli for, while i do-while.
3.2
Switch i pattern matching
beginner
Tradycyjny switch/case oraz wyrażenia switch z dopasowywaniem wzorców w Dart 3.
3.3
Assert — asercje debugowe
beginner
Rola instrukcji assert w weryfikacji założeń oraz różnica między trybem debug a produkcyjnym.
5. Programowanie obiektowe
Nr
Moduł
Poziom
Opis
5.1
Klasy i konstruktory
intermediate
Deklarowanie klas z polami, metodami, getterami/setterami oraz różnymi typami konstruktorów.
5.2
Dziedziczenie i interfejsy
intermediate
Dziedziczenie przez extends, implementacja interfejsów oraz nadpisywanie metod.
5.3
Mixiny
intermediate
Mixiny jako mechanizm ponownego wykorzystania kodu bez klasycznego dziedziczenia.
5.4
Modyfikatory klas Dart 3 i rekordy
intermediate
Modyfikatory klas Dart 3 (sealed, base, interface, final, mixin) oraz rekordy.
Nr
Moduł
Poziom
Opis
6.1
Klasy generyczne
intermediate
Typy generyczne rozwiązujące problem bezpieczeństwa typów i reużywalności bez duplikacji kodu.
6.2
Metody generyczne i ograniczenia typów
intermediate
Definiowanie metod i funkcji generycznych z własnymi parametrami typowymi i ograniczeniami.
Nr
Moduł
Poziom
Opis
7.1
Event loop, Futures i async/await
advanced
Model pętli zdarzeń, kolejność przetwarzania kolejek mikrozadań i zdarzeń oraz async/await.
7.2
Streams
advanced
Stream jako asynchroniczna sekwencja zdarzeń oraz różnica między strumieniami single-subscription a broadcast.
7.3
Isolates i współbieżność
advanced
Jednowątkowy model wykonania Dart oraz koncepcja izolacji pamięci między isolate'ami.
7.4
Obsługa błędów w kodzie asynchronicznym
advanced
Obsługa błędów w kodzie asynchronicznym oraz propagacja błędów przez granice async.
8. Biblioteka standardowa
Nr
Moduł
Poziom
Opis
8.1
Biblioteka dart:core
intermediate
Manipulacja napisami, typy liczbowe, DateTime/Duration, Uri oraz kolekcje z dart:core.
8.2
Biblioteka standardowa — dart:collection
intermediate
Zaawansowane struktury danych z dart:collection wraz z ich złożonością czasową.
8.3
dart:async
advanced
Zaawansowane narzędzia asynchroniczne: Completer, StreamController, Timer i Zone.
8.4
dart:io — pliki, procesy i sieć
advanced
Operacje na plikach, procesach i sieci z użyciem biblioteki dart:io.
8.5
Biblioteka standardowa — dart:convert
intermediate
Kodowanie i dekodowanie danych JSON, UTF-8, Base64 oraz tworzenie własnych koderów.
8.6
Biblioteka standardowa — dart:math i dart:typed_data
intermediate
Narzędzia matematyczne (Random, geometria) oraz praca z danymi binarnymi (typed_data).
9. Zaawansowane cechy języka