Journey
Dart lernen
Ein kostenloser, interaktiver Online-Kurs für Dart. Du schreibst in jeder Lektion selbst Dart — Syntax, Klassen, async/await, Futures und die Grundlagen, die du für Flutter brauchst — mit KI-Hinweisen, wenn async mal seltsam wird, und einem kostenlosen Zertifikat zum Abschluss.
17,492+ codders eingeschrieben
- Anfängerfreundlich
KI-gestützte Coding-Hilfe
Praktische, interaktive Lektionen
Audio-Erzählung in jeder Lektion
Quizfragen zum Wissenstest
Kostenloses Abschlusszertifikat
Lehrplan
Abschnitt 1
Grundlagen
Abschnitt startenStartenAusklappenEinklappenBauen Sie eine starke Grundlage mit essenziellen Konzepten und grundlegenden Fähigkeiten aufEinführung in Dart
4 Lektionen224- 01Was ist Dart?Aufgabe
- 02Die main-FunktionQuiz
- 03Ausgabe ausgebenAufgabeQuiz
- 04Code-KommentareQuiz
Variablen und grundlegende Datentypen
11 Lektionen1075- 01Was sind Variablen?Quiz
- 02StringsAufgabeQuiz
- 03Ganzzahlen (int)AufgabeQuiz
- 04Gleitkommazahlen (double)AufgabeQuiz
- 05Boolesche Werte (bool)AufgabeQuiz
- 06Typinferenz mit 'var'AufgabeQuiz
- 07Finale VariablenAufgabeQuiz
- 08Konstante VariablenAufgabeQuiz
- 09NamenskonventionenAufgabeQuiz
- 10Grundlegende Null-SicherheitAufgabeQuiz
- 11Zusammenfassung - Variablen deklarierenAufgabe
Operatoren Teil 1
6 Lektionen638- 01Arithmetische OperatorenAufgabeQuiz
- 02GanzzahldivisionAufgabeQuiz
- 03Modulo-OperatorAufgabeQuiz
- 04Inkrement und DekrementAufgabeQuiz
- 05ZuweisungsabkürzungenAufgabeQuiz
- 06Zusammenfassung - Einfache BerechnungenAufgabe
Operatoren Teil 2
6 Lektionen636- 01VergleichsoperatorenAufgabeQuiz
- 02Logischer UNDAufgabeQuiz
- 03Logischer ODERAufgabeQuiz
- 04Logischer NICHTAufgabeQuiz
- 05TypprüfoperatorenAufgabeQuiz
- 06Zusammenfassung - Vergleiche durchführenAufgabe
Operatoren Teil 3
3 Lektionen320- 01Null-bewusster OperatorAufgabeQuiz
- 02Null-bewusster ZugriffAufgabeQuiz
- 03Bedingter OperatorAufgabeQuiz
Steuerfluss - Entscheidungen
6 Lektionen636- 01Die 'if'-AnweisungAufgabeQuiz
- 02Die 'else'-AnweisungAufgabeQuiz
- 03Die 'else if'-AnweisungAufgabeQuiz
- 04Zusammenfassung - Einfache EntscheidungenAufgabe
- 05Verschachtelte 'if'-AnweisungenAufgabeQuiz
- 06Die 'switch'-AnweisungAufgabeQuiz
Arbeiten mit Strings
5 Lektionen538- 01String-KonkatenationAufgabeQuiz
- 02String-InterpolationAufgabeQuiz
- 03Mehrzeilige StringsAufgabeQuiz
- 04String-EigenschaftenAufgabeQuiz
- 05Grundlegende String-MethodenAufgabeQuiz
Kontrollfluss - Schleifen
6 Lektionen637- 01Die 'for'-SchleifeAufgabeQuiz
- 02Die 'while'-SchleifeAufgabeQuiz
- 03Die 'do-while'-SchleifeAufgabeQuiz
- 04'break' in Schleifen verwendenAufgabeQuiz
- 05'continue' in Schleifen verwendenAufgabeQuiz
- 06Zusammenfassung - Code wiederholenAufgabe
Sammlungen – Listen-Grundlagen
8 Lektionen759- 01Was sind Listen?Quiz
- 02Eine Liste erstellenAufgabeQuiz
- 03Zugriff per IndexAufgabeQuiz
- 04Listenlänge ermittelnAufgabeQuiz
- 05Elemente hinzufügenAufgabeQuiz
- 06Elemente entfernenAufgabeQuiz
- 07Prüfen, ob eine Liste leer istAufgabeQuiz
- 08Über eine Liste iterierenAufgabeQuiz
Sammlungen - Grundlagen von Maps
8 Lektionen757- 01Was sind Maps?Quiz
- 02Eine Map erstellenAufgabeQuiz
- 03Werte per Schlüssel abrufenAufgabeQuiz
- 04Schlüssel-Wert-PaareAufgabeQuiz
- 05Größe einer Map ermittelnAufgabeQuiz
- 06Schlüssel abrufenAufgabeQuiz
- 07Werte abrufenAufgabeQuiz
- 08Prüfen, ob ein Schlüssel existiertAufgabeQuiz
Grundlagen der Funktionen
8 Lektionen753- 01Was sind Funktionen?Quiz
- 02Definieren einer einfachen FunktionAufgabeQuiz
- 03Eine Funktion aufrufenAufgabeQuiz
- 04Funktionen mit ParameternAufgabeQuiz
- 05Funktionen, die Werte zurückgebenAufgabeQuiz
- 06Das 'void'-SchlüsselwortAufgabeQuiz
- 07Arrow-SyntaxAufgabeQuiz
- 08Zusammenfassung - Einfache FunktionenAufgabe
Erweiterte Funktionen
5 Lektionen532- 01Optionale Positions-ParameterAufgabeQuiz
- 02Benannte ParameterAufgabeQuiz
- 03Erforderliche benannte ParameterAufgabeQuiz
- 04Standardwerte für ParameterAufgabeQuiz
- 05Zusammenfassung - FunktionsparameterAufgabe
Null-Sicherheit im Detail
6 Lektionen639- 01Null verstehenAufgabeQuiz
- 02Nullable-TypenAufgabeQuiz
- 03Non-Nullable-TypenAufgabeQuiz
- 04Null-Assertion-OperatorAufgabeQuiz
- 05Late-InitialisierungAufgabeQuiz
- 06Zusammenfassung - Null sicher handhabenAufgabe
Typkonvertierung
4 Lektionen430- 01String zu int konvertierenAufgabeQuiz
- 02String zu double konvertierenAufgabeQuiz
- 03Zahlen zu String konvertierenAufgabeQuiz
- 04Konvertierungsfehler behandelnAufgabeQuiz
Projekt: Einfacher Rechner
Projekt5 Lektionen1- 01EinrichtenAufgabe
- 02Zahl deklarierenProjekt
- 03Operation erstellenProjekt
- 04Berechnung durchführenProjekt
- 05Ergebnis anzeigenProjekt
Grundlagenherausforderungen
3 Lektionen3- 01Herausforderung: Liste von BerechnungenAufgabe
- 02Herausforderung: Summe von ZahlenAufgabe
- 03Herausforderung: Produkt findenAufgabe
Abschnitt 2
Logik & Ablauf
Abschnitt startenStartenAusklappenEinklappenBeherrschen Sie fortgeschrittene Dart-Programmierung mit Schwerpunkt auf Datenstrukturen und Ablaufsteuerung. Lernen Sie, mit komplexen Arrays, Collections, Fehlerbehandlung und Zeitmanagement zu arbeiten.Fortgeschrittene Listenmanipulation
9 Lektionen959- 01Listen-Eigenschaften: first & lastAufgabeQuiz
- 02Listen-Status: isEmpty & isNotEmptyAufgabeQuiz
- 03Eine Liste umkehrenAufgabeQuiz
- 04Hinzufügen zu einer Liste: insertAufgabeQuiz
- 05Elemente aus Liste entfernen: removeWhereAufgabeQuiz
- 06Suchen in einer Liste: indexOfAufgabeQuiz
- 07Eine Liste sortierenAufgabeQuiz
- 08Eine Liste mischenAufgabeQuiz
- 09Zusammenfassung – Listen-OrganizerAufgabe
Funktionale Listenoperationen
7 Lektionen746- 01Transformieren mit 'map'AufgabeQuiz
- 02Filtern mit 'where'AufgabeQuiz
- 03'.toList()' verwendenAufgabeQuiz
- 04Bedingungen prüfen mit 'any'AufgabeQuiz
- 05Bedingungen mit 'every'AufgabeQuiz
- 06Suchen mit 'firstWhere'AufgabeQuiz
- 07Zusammenfassung – DatenfilterungAufgabe
Sets
9 Lektionen864- 01Was ist ein Set?Quiz
- 02Ein Set erstellenAufgabeQuiz
- 03Hinzufügen und Entfernen in SetsAufgabeQuiz
- 04Prüfen auf Elemente in einem SetAufgabeQuiz
- 05Eine Liste in ein Set umwandelnAufgabeQuiz
- 06Set-VereinigungAufgabeQuiz
- 07Set-SchnittmengeAufgabeQuiz
- 08Set-DifferenzAufgabeQuiz
- 09Rückblick – Einzigartige GästelisteAufgabe
Fortgeschrittene Map-Manipulation
7 Lektionen745- 01Über eine Map iterierenAufgabeQuiz
- 02Prüfen auf Schlüssel und WerteAufgabeQuiz
- 03Map-Eigenschaften: keys & valuesAufgabeQuiz
- 04Bedingtes Hinzufügen: putIfAbsentAufgabeQuiz
- 05Einträge aus einer Map entfernenAufgabeQuiz
- 06Verschachtelte MapsAufgabeQuiz
- 07Rückblick – Inventar-UpdateAufgabe
Projekt: Warenkorb-Rechner
Projekt5 Lektionen1- 01Projekt-SetupAufgabe
- 02Artikel zum Warenkorb hinzufügenProjekt
- 03Gesamtkosten berechnenProjekt
- 04Einen Rabatt anwendenProjekt
- 05Den fertigen Kassenbon anzeigenProjekt
Grundlagen der Fehlerbehandlung
6 Lektionen541- 01Was sind Exceptions?Quiz
- 02Der 'try-catch'-BlockAufgabeQuiz
- 03Exceptions mit 'on' abfangenAufgabeQuiz
- 04Der 'finally'-BlockAufgabeQuiz
- 05Eine Exception auslösenAufgabeQuiz
- 06Rückblick - Sichere DivisionAufgabe
Fortgeschrittene Funktionen
7 Lektionen646- 01Anonyme FunktionenAufgabeQuiz
- 02Funktionen als Argumente übergebenAufgabeQuiz
- 03Closures verstehenAufgabeQuiz
- 04Einführung in die RekursionQuiz
- 05Rekursive Funktion: CountdownAufgabeQuiz
- 06Rekursive Funktion: FakultätAufgabeQuiz
- 07Zusammenfassung – List ProcessorAufgabe
Projekt: Einfacher Text-Analyzer
Projekt7 Lektionen18- 01Projektübersicht und SetupAufgabeQuiz
- 02Zeichen zählenProjekt
- 03Text in Wörter aufteilenProjekt
- 04Wörter zählenProjekt
- 05Eindeutige Wörter zählenProjekt
- 06Wortfrequenz-ZählerProjekt
- 07Analyse anzeigenProjekt
Enumerations (Enums)
5 Lektionen433- 01Was sind Enums?Quiz
- 02Einfache Enums definierenAufgabeQuiz
- 03Enums in Variablen verwendenAufgabeQuiz
- 04Enums in 'switch'-AnweisungenAufgabeQuiz
- 05Zusammenfassung – AmpelAufgabe
Abschluss-Herausforderungen
3 Lektionen3- 01Herausforderung: NotensortiererAufgabe
- 02Herausforderung: VokalzählerAufgabe
- 03Herausforderung: FizzBuzzAufgabe
Abschnitt 3
Objektorientierte Programmierung
Abschnitt startenStartenAusklappenEinklappenEntdecken Sie, wie Sie Code mit Klassen, Objekten und wiederverwendbaren Strukturen organisieren.Grundlagen der OOP
9 Lektionen971- 01Externe DateienAufgabeQuiz
- 02Bibliotheken & ImportsAufgabeQuiz
- 03Einführung in die OOPAufgabeQuiz
- 04Klassen vs. ObjekteAufgabeQuiz
- 05Das this-SchlüsselwortAufgabeQuiz
- 06MethodenAufgabeQuiz
- 07InstanzvariablenAufgabeQuiz
- 08Konstruktor-GrundlagenAufgabeQuiz
- 09Wiederholung – Einfacher TaschenrechnerAufgabe
Konstruktoren in Dart
7 Lektionen753- 01Standard-KonstruktorAufgabeQuiz
- 02Benannte KonstruktorenAufgabeQuiz
- 03InitialisierungslistenAufgabeQuiz
- 04Konstante KonstruktorenAufgabeQuiz
- 05Factory-KonstruktorenAufgabeQuiz
- 06Weiterleitende KonstruktorenAufgabeQuiz
- 07Zusammenfassung – Shape BuilderAufgabe
Klasseneigenschaften
6 Lektionen644- 01Instanz- vs. statische MemberAufgabeQuiz
- 02Final & Const FelderAufgabeQuiz
- 03Late-VariablenAufgabeQuiz
- 04Statische Methoden & FelderAufgabeQuiz
- 05Getter und SetterAufgabeQuiz
- 06Zusammenfassung – Bankkonto-ManagerAufgabe
Null-Sicherheit
7 Lektionen754- 01Einführung in Null-SicherheitAufgabeQuiz
- 02Nullable vs. Non-NullableAufgabeQuiz
- 03Die ? und ! OperatorenAufgabeQuiz
- 04Late-Schlüsselwort & Null-SicherheitAufgabeQuiz
- 05Null-aware OperatorenAufgabeQuiz
- 06Null-Sicherheit in KlassenAufgabeQuiz
- 07Zusammenfassung – Benutzerprofil-SystemAufgabe
Kapselung
6 Lektionen641- 01Öffentliche vs. private MemberAufgabeQuiz
- 02Die _ Präfix-KonventionAufgabeQuiz
- 03Sichtbarkeit auf Library-EbeneAufgabeQuiz
- 04Getter & Setter im DetailAufgabeQuiz
- 05Information HidingAufgabeQuiz
- 06Rückblick – SchülerdatensätzeAufgabe
Vererbung
7 Lektionen750- 01Grundlagen der VererbungAufgabeQuiz
- 02Das super-SchlüsselwortAufgabeQuiz
- 03Methoden überschreibenAufgabeQuiz
- 04Die @override-AnnotationAufgabeQuiz
- 05Das final-Klassen-SchlüsselwortAufgabeQuiz
- 06Konstruktoren & VererbungAufgabeQuiz
- 07Rückblick – Mitarbeiter-HierarchieAufgabe
Abstrakte Klassen & Interfaces
7 Lektionen753- 01Abstrakte KlassenAufgabeQuiz
- 02Abstrakte MethodenAufgabeQuiz
- 03Interfaces in DartAufgabeQuiz
- 04Implizite InterfacesAufgabeQuiz
- 05Implementieren vs. ErweiternAufgabeQuiz
- 06Mehrfache InterfacesAufgabeQuiz
- 07Rückblick – Shape CalculatorAufgabe
Mixins
7 Lektionen752- 01Einführung in MixinsAufgabeQuiz
- 02Mixins erstellenAufgabeQuiz
- 03Mehrere Mixins verwendenAufgabeQuiz
- 04Das on-Schlüsselwort in MixinsAufgabeQuiz
- 05Mixin vs. VererbungAufgabeQuiz
- 06Mixin vs. InterfaceAufgabeQuiz
- 07Zusammenfassung - TiersystemAufgabe
Polymorphismus
6 Lektionen643- 01Polymorphismus-GrundlagenAufgabeQuiz
- 02Polymorphismus über InterfacesAufgabeQuiz
- 03Typprüfung zur LaufzeitAufgabeQuiz
- 04Die is & as OperatorenAufgabeQuiz
- 05Das covariant SchlüsselwortAufgabeQuiz
- 06Zusammenfassung – Payment ProcessorAufgabe
Collections & Generics
7 Lektionen754- 01Überblick über List, Set und MapAufgabeQuiz
- 02Typsichere CollectionsAufgabeQuiz
- 03Generische KlassenAufgabeQuiz
- 04Generische MethodenAufgabeQuiz
- 05Generische ConstraintsAufgabeQuiz
- 06Iterable & IteratorAufgabeQuiz
- 07Zusammenfassung – Generische SpeicherungAufgabe
Spezielle Methoden
6 Lektionen643- 01toString() überschreibenAufgabeQuiz
- 02hashCode & == überschreibenAufgabeQuiz
- 03Comparable-InterfaceAufgabeQuiz
- 04call()-MethodeAufgabeQuiz
- 05noSuchMethod überschreibenAufgabeQuiz
- 06Zusammenfassung – Eigene CollectionAufgabe
Asynchrone OOP
6 Lektionen645- 01Futures & async/awaitAufgabeQuiz
- 02Streams GrundlagenAufgabeQuiz
- 03Stream ControllerAufgabeQuiz
- 04Asynchrone KonstruktorenAufgabeQuiz
- 05Async in KlassenmethodenAufgabeQuiz
- 06Zusammenfassung – Data FetcherAufgabe
Fortgeschrittene OOP-Konzepte
7 Lektionen764- 01Komposition vs. VererbungAufgabeQuiz
- 02Extension MethodsAufgabeQuiz
- 03Callable ClassesAufgabeQuiz
- 04Sealed Classes (Dart 3)AufgabeQuiz
- 05Records (Dart 3)AufgabeQuiz
- 06Patterns & Matching (3.0)AufgabeQuiz
- 07Enums mit MethodenAufgabeQuiz
Entwurfsmuster Teil 1
5 Lektionen543- 01Einführung in EntwurfsmusterAufgabeQuiz
- 02Singleton-MusterAufgabeQuiz
- 03Factory-MusterAufgabeQuiz
- 04Observer-MusterAufgabeQuiz
- 05Strategy-MusterAufgabeQuiz
Entwurfsmuster Teil 2
7 Lektionen763- 01Command-MusterAufgabeQuiz
- 02Adapter-MusterAufgabeQuiz
- 03Decorator-MusterAufgabeQuiz
- 04Template-Method-MusterAufgabeQuiz
- 05ZustandsmusterAufgabeQuiz
- 06Composite-MusterAufgabeQuiz
- 07Repository-MusterAufgabeQuiz
Projekt: Bibliotheksverwaltung
Projekt6 Lektionen1- 01ProjektübersichtAufgabe
- 02Buch- und BenutzerklassenProjekt
- 03AusleihsystemProjekt
- 04SuchfunktionalitätProjekt
- 05Admin-InterfaceProjekt
- 06Testen und IntegrationProjekt
Abschlussherausforderungen
4 Lektionen4- 01E-Learning-PlattformAufgabe
- 02BanksystemAufgabe
- 03Spielfiguren-SystemAufgabe
- 04FahrzeugvermietungAufgabe
Warum Dart mit Coddy lernen
- Schreib und führ echten Dart-Code direkt im Browser aus. Kein Dart SDK installieren, keine Flutter-Toolchain einrichten. Jede Lektion kompiliert dein Dart-Programm serverseitig und zeigt dir die Ausgabe sofort.
- Dart, wie Flutter-Entwickler es wirklich nutzen: Variablen und Typen, Kontrollfluss, Funktionen, Klassen und Vererbung, Generics, null-safety, Futures, async/await, Streams. Die Dart-Grundlagen, die jeder Flutter-Entwickler braucht.
- KI-Hinweise helfen dir, Dart-Fehler und Async-Bugs zu lesen und zu beheben, ohne dir die Lösung zu verraten – damit Konzepte wie null-safety und Futures Klick machen, statt dich zu verwirren.
- Kostenloses Dart-Zertifikat, sobald du den Kurs abschließt. Ein glaubwürdiges Signal für Flutter- und Mobile-Development-Jobs, in denen Dart die Hauptsprache ist.
Häufige Fragen zum Lernen von Dart
Wofür wird Dart verwendet?
Dart wird vor allem für Flutter-Apps eingesetzt – Googles plattformübergreifendes UI-Framework, mit dem du aus einer einzigen Codebasis Apps für iOS, Android, Web, Windows, macOS und Linux baust. Außerhalb von Flutter kommt Dart auch für Command-Line-Tools und serverseitigen Code zum Einsatz, aber der Hauptgrund, warum Leute heute Dart lernen, ist Flutter.
Ist Dart schwer zu lernen?
Dart gehört zu den einfacheren statisch typisierten Sprachen. Die Syntax kommt jedem bekannt vor, der schon mal Java, JavaScript oder C# gesehen hat, und dank starker null-safety lassen sich typische Bugs vermeiden. Die meisten Anfänger schreiben in der ersten Stunde ihr erstes funktionierendes Dart-Programm und legen innerhalb einer Woche mit Klassen los.
Sollte ich Dart vor Flutter lernen?
Ja – zumindest die Grundlagen. Du kommst in Flutter deutlich schneller voran, wenn dir Dart-Syntax, Klassen, async/await und null-safety in Fleisch und Blut übergegangen sind. Der Dart-Kurs ist genau als Sprungbrett zu Flutter aufgebaut – du lernst die Teile von Dart, die dir in echtem Flutter-Code begegnen.
Wie lange dauert es, Dart zu lernen?
Die Dart-Grundlagen – Variablen, Kontrollfluss, Funktionen, Klassen – schaffst du mit täglichem Üben in ein bis zwei Wochen. Bis du dich mit async/await, Futures und Null-Safety wirklich wohlfühlst, dauert es meist nochmal zwei bis vier Wochen. Danach kannst du in Flutter einsteigen und dir fortgeschrittene Dart-Features dann holen, wenn du sie brauchst.
Kann ich Dart online kostenlos lernen?
Ja. Der interaktive Dart-Kurs ist kostenlos — Lektionen, Programmieraufgaben, Quizze und ein Zertifikat. Dart wird serverseitig kompiliert, du musst also weder das Dart SDK installieren noch Flutter lokal einrichten, um echten Dart-Code zu schreiben.
Bekomme ich nach dem Dart-Kurs ein Zertifikat?
Ja. Wenn du den Dart-Kurs abschließt, bekommst du ein kostenloses Abschlusszertifikat. Ein nachprüfbarer Nachweis, den du in deinen Lebenslauf aufnehmen oder auf LinkedIn teilen kannst – besonders nützlich als Sprungbrett in die Flutter-Entwicklung.