Learn Dart
Structured lessons from the basics up — follow the path below in order, at your own pace.
-
1
Level 1 — Beginner Beginner 33 lessons
Start here if you have never written a line of Dart before. No programming experience is required — work through these lessons in order, sin...
Lessons in this module
What Is Dart? Why Learn Dart? What Can You Build With Dart? Installing Dart Setting Up Your Development Environment Your First Dart Program How Dart Code Runs Dart Syntax Basics Printing Output Variables: var, final, and const Data Types and Type Inference Numbers Strings Working with Strings Booleans and Comparisons Operators Null Safety Working with Nullable Values Type Conversion Reading User Input Conditionals: if and else switch Statements and Expressions Loops: for and for-in while, do-while, break, and continue Lists Maps Sets Functions Named and Optional Parameters Scope Anonymous Functions and Closures Collection Methods: map, where, and fold Comments and Code Style -
2
Beginner Projects Beginner 1 lesson
Build these with nothing but what Level 1 covered — print , stdin.readLineSync , variables, null safety, conditionals, loops, collections, a...
-
3
Level 2 — Intermediate Intermediate 24 lessons
These lessons cover classes and constructors, inheritance, mixins, enums, records and patterns, sealed classes, generics, extensions, except...
Lessons in this module
Classes and Objects Constructors Getters, Setters, and Privacy Inheritance Interfaces and implements Mixins Enums Records Patterns and Destructuring Sealed Classes and Exhaustive Switching Generics Extension Methods Equality, hashCode, and toString Exceptions and Error Handling Futures and async/await Iterables and Generators Packages and pub Working with JSON Working with Files Making HTTP Requests Dates and Times Testing with package:test Debugging Dart Libraries and Code Organization -
4
Intermediate Projects Intermediate 1 lesson
Build these using classes, enums, records, sealed classes, exceptions, async/await, packages, JSON, and tests from Level 2. Give each projec...
-
5
Level 3 — Advanced Advanced 16 lessons
These lessons cover streams, isolates, class modifiers, advanced patterns, Flutter fundamentals, state management and app architecture, serv...
Lessons in this module
The Event Loop Streams StreamControllers and Transformations Isolates and Concurrency Class Modifiers Extension Types Flutter Fundamentals Stateful Widgets and User Input State Management Navigation and App Architecture Testing Flutter Apps Server-Side Dart Performance Security Fundamentals Platform Integration Shipping Apps: Builds, Stores, and CI/CD -
6
Advanced Projects Advanced 1 lesson
Build these using streams, isolates, Flutter, and the testing and shipping practices from Level 3. 1. Flutter Notes App Build a notes app wi...
-
7
What You Should Know Now — and What's Next 1 lesson
What You Should Know Now Core syntax: var , final , and const , types, string interpolation, conditionals, switch expressions, and loops Sou...