Stage 1 of 7 · 10 lessons · ~2 months
Dart fundamentals
Learn the language your apps will be written in before touching UI code. Null safety, collections and async code matter more on mobile than most beginners expect.
Start: var, final, const and type inferenceLessons· one lesson for each topic, in this order
- 1var, final, const and type inferenceLesson
- 2Sound null safetyLesson
- 3Functions, named parameters and closuresLesson
- 4Classes, constructors, mixins and enumsLesson
- 5Sealed classes, records and patternsLesson
- 6List, Map and SetLesson
- 7Exceptions and error handlingLesson
- 8Futures, async and awaitLesson
- 9StreamsLesson
- 10Packages from pub.devLesson
Start with
- GuideFreeDart Language Tour
Google · Beginner
The official tour: read it in order and rerun every example in DartPad
Practise
Keep handy
Also worth your time
Before moving on: Solve 15 exercises on Exercism in your language, then write a small console program, such as a to-do list or a grade calculator, that uses classes, collections, error handling and one async call.

Dart is quick to pick up if you know Java, JavaScript or C#, so spend your time on null safety, Futures and Streams rather than syntax. Use DartPad in the browser for the first week so setup does not slow you down.