Flutter Fundamentals
A structured course in Flutter and Dart development
What you'll learn
This course teaches developers how to build beautiful, natively compiled applications with Flutter — Google's UI toolkit for crafting apps for mobile, web, and desktop from a single codebase.
- The Dart language foundations: types, functions, classes, async/await
- How Flutter's widget tree works and how to think declaratively
- Building layouts with Row, Column, Stack, ListView and more
- Managing state with setState, Provider, and Riverpod
- Navigating between screens with Navigator and GoRouter
- Fetching data from REST APIs and persisting it locally
- Theming, animations, testing, and publishing packages
Crash Course
The top 10% of the course in one sitting
Skim the essentials, then dive deeper where it matters.
→
Flashcards
Drill the full question bank
Spaced-repetition memory across every module quiz.
→
Crash Course
Self-Study Modules
Foundations
Module 0 Dart & Widget Basics
What Is Flutter
Quiz
Module 1 Dart & Widget Basics
Dart Essentials
Quiz
Module 2 Dart & Widget Basics
Dart OOP
Quiz
Module 3 Dart & Widget Basics
Dart Async
Quiz
Module 4 Dart & Widget Basics
Widgets 101
Quiz
Intermediate
Module 5 Building UI Screens
Layout Widgets
Quiz
Module 6 Building UI Screens
Text, Images & Buttons
Quiz
Module 7 Building UI Screens
StatefulWidget & setState
Quiz
Module 8 Building UI Screens
Lists & Scrolling
Quiz
Module 9 Building UI Screens
User Input & Forms
Quiz
Advanced
Module 10 Connected App Plumbing
Navigation & Routing
Quiz
Module 11 Connected App Plumbing
Theming & Styling
Quiz
Module 12 Connected App Plumbing
State Management
Quiz
Module 13 Connected App Plumbing
HTTP & APIs
Quiz
Module 14 Connected App Plumbing
Local Storage
Quiz
Expert
Module 15 Production Polish
Custom Widgets
Quiz
Module 16 Production Polish
Animations
Quiz
Module 17 Production Polish
Packages & pub.dev
Quiz
Module 18 Production Polish
Testing Flutter Apps
Quiz
Module 19 Production Polish
Capstone Project
Quiz
Your Practice Path
After Modules 0-4: Build a "Hello Flutter" app with a custom widget tree After Modules 5-7: Create a counter app with StatefulWidget and styled layout After Modules 8-9: Build a to-do list with user input, forms, and scrolling After Modules 10-14: Create a weather app with API calls, navigation, and local storage After Modules 15-19: Build and test a complete app, then publish a reusable package