← All Courses
Learn Dart & Flutter
Coming SoonMobile, web, and desktop from one codebase
Dart Flutter Mobile Cross-Platform UI
Coming Soon
One codebase, every platform. Dart and Flutter let you build native mobile (iOS/Android), web, and desktop applications from a single project. Google’s cross-platform framework with a strong “write once, run everywhere” story.
This course builds from Dart language fundamentals through Flutter’s widget system to shipping cross-platform apps.
Start Here — Learning Roadmap
A suggested path from zero to mastery. Follow these steps in order:
- Learn Dart Fundamentals — Start with Dart syntax, types, classes, null safety, and async/await using the Dart Language Tour
- Set Up Flutter — Install Flutter SDK, configure your IDE (VS Code or Android Studio), and run your first app
- Understand the Widget Tree — Learn how Flutter’s declarative UI works with StatelessWidget, StatefulWidget, and the build method
- Build Basic UIs — Practice layouts (Row, Column, Stack), Material widgets, navigation, and theming
- Learn State Management — Start with setState, then learn Riverpod or Provider for managing app state at scale
- Work with Data — Handle HTTP requests, parse JSON, use local storage (Hive, SharedPreferences), and connect to Firebase
- Build a Complete App — Create a full app with navigation, forms, authentication, persistent data, and polished UI
- Test Your Code — Learn widget testing, unit testing, and integration testing with Flutter’s built-in test framework
- Explore Advanced Topics — Animations, custom painters, platform channels, Dart FFI, and performance optimization
- Ship to Stores — Build for iOS and Android, configure app signing, handle store guidelines, and publish to App Store/Play Store
Official & Core Documentation
- Dart Language Tour — Official overview of Dart’s syntax, types, and core features (Beginner)
- Dart API Reference — Complete API documentation for Dart’s standard libraries (All levels)
- Flutter Documentation — Comprehensive guides, API reference, and cookbook for Flutter (Beginner)
- Flutter Widget Catalog — Visual index of every Flutter widget with usage examples (Beginner)
- Flutter Codelabs — Hands-on workshops from Google covering real app scenarios (Beginner)
- Effective Dart — Official style guide and best practices for writing idiomatic Dart (Intermediate)
- Flutter Cookbook — Recipes for common Flutter patterns and use cases (Intermediate)
- Flutter Roadmap — Community-created visual roadmap for Flutter developers (Beginner)
- Dart Roadmap — Step-by-step guide to learning the Dart language (Beginner)
GitHub Awesome Lists & Curated Collections
- awesome-flutter — The definitive curated list of Flutter libraries, tools, tutorials, and articles
- awesome-dart — Curated list of Dart frameworks, libraries, and software organized by category
- awesome-flutter-packages — Curated list of the most valuable Flutter packages from the community
- awesome-flutter-desktop — Curated resources for Flutter desktop development
- awesome-open-source-flutter-apps — Curated list of open-source Flutter applications for learning and reference
- awesome-dart-pad — Collection of impressive Flutter DartPad samples and examples
Interactive Courses & Hands-On Platforms
Free Courses
- DartPad — Write and run Dart and Flutter code directly in the browser (Beginner)
- Flutter Learning Pathway — Google’s recommended step-by-step path for learning Flutter (Beginner)
- Google Codelabs — Flutter — Official hands-on tutorials covering layouts, animations, Firebase, and more (Beginner)
- Dart Apprentice (Kodeco) — Dart language fundamentals through progressive exercises (Beginner)
University & MOOC Courses
- Flutter Apprentice (Kodeco) — Project-based Flutter learning, building real apps from scratch (Beginner, Paid)
- Educative — Learn Dart — Interactive Dart course with in-browser coding (Beginner, Paid)
- Maximilian Schwarzmuller — Flutter & Dart — Top-rated 30+ hour Flutter and Dart course on Udemy (Beginner, Paid)
- London App Brewery — Flutter Bootcamp — Angela Yu’s comprehensive Flutter bootcamp (Beginner, Paid)
Practice & Challenges
- Exercism Dart Track — Mentored Dart exercises with community feedback (Beginner)
- Flutter Challenges — Open-source collection of Flutter coding challenges (Intermediate)
- Codewars Dart — Progressive coding challenges in Dart (All levels)
- LeetCode — Algorithm challenges with Dart support (Intermediate)
- Flutter UI Challenges — Collection of Flutter UI implementations for practice (Beginner)
Video Courses & YouTube Channels
Structured Course Playlists
- Flutter Official YouTube — Widget of the Week, tutorials, and Google I/O talks (All levels)
- The Net Ninja — Flutter — Complete beginner-friendly Flutter series (Beginner)
- freeCodeCamp — Flutter Full Course — Comprehensive free Flutter course for beginners (Beginner)
Individual Creators & Channels
- Code with Andrea — Flutter architecture, Riverpod, and best practices from Andrea Bizzotto (Intermediate)
- Reso Coder — Flutter architecture patterns (BLoC, Clean Architecture, DDD) (Intermediate)
- Robert Brunhage — Flutter tips, app builds, and production patterns (Intermediate)
- dbestech — Full Flutter app builds and UI tutorials (Beginner)
- Fireship — Flutter in 100 Seconds — Quick, engaging Flutter overview (Beginner)
- Tadas Petra — Flutter development, tutorials, and community content (Beginner)
- Flutter Mapp — Flutter UI designs, animations, and practical tutorials (Intermediate)
- Marcus Ng — Flutter UI implementations and app clones for learning (Beginner)
- Flutter Explained — Flutter concepts, architecture, and state management deep dives (Intermediate)
- Google I/O Flutter Talks — Official Flutter talks from Google I/O conferences (Intermediate)
Books & Long-Form Reading
Free Online Books
- Effective Dart — Official free style guide and best practices for Dart development (Beginner)
- Flutter Cookbook (docs) — Free collection of recipes for common Flutter patterns (Beginner)
- Dart Up and Running (dart.dev) — Free official Dart guides covering language features and libraries (Beginner)
- Flutter Succinctly — Free Syncfusion e-book covering Flutter fundamentals concisely (Beginner)
- Flutter Layout Cheat Sheet — Free visual guide to Flutter layout widgets and patterns (Beginner)
Essential Paid Books
- Flutter in Action — Practical Flutter development covering widgets, state management, and deployment (Intermediate, Paid)
- Flutter Complete Reference — Alberto Miola’s in-depth Flutter and Dart reference book (Intermediate, Paid)
- Beginning Flutter — Marco Napoli’s hands-on guide to building cross-platform apps (Beginner, Paid)
- Flutter Cookbook (Packt) — Recipes for common Flutter patterns and problems (Intermediate, Paid)
- Real-World Flutter by Tutorials (Kodeco) — Building production Flutter apps with clean architecture (Advanced, Paid)
Community, Practice & News
Forums & Discussion
- r/FlutterDev — Active Reddit community for Flutter developers
- r/dartlang — Reddit community focused on the Dart language
- Flutter Community Discord — Large community Discord with channels for help, packages, and showcases
- Stack Overflow — Flutter — Q&A archive for Flutter and Dart questions
- Flutter Community (Medium) — Community-driven publication with tutorials and articles
Newsletters & Blogs
- Flutter Weekly — Weekly digest of Flutter articles, tutorials, and packages
- Flutter Gems — Curated collection of Flutter packages organized by category
- The Flutter Way — Blog and tutorials focused on Flutter UI design and architecture
- Codemagic Blog — Flutter CI/CD, best practices, and development articles
Package Registries & Ecosystems
- pub.dev — Dart and Flutter’s official package repository for discovering and sharing libraries
- Flutter Favorites — Packages identified by the Flutter team as must-haves
- FlutterFire — Official Firebase plugins for Flutter
Tools & Environments
- DartPad — Browser-based Dart and Flutter editor for quick experiments and sharing
- VS Code + Flutter Extension — Lightweight editor with excellent Flutter and Dart support
- Android Studio + Flutter Plugin — Full-featured IDE with Flutter-specific tools and device emulators
- Flutter DevTools — Suite of debugging and performance tools for Flutter apps
- Codemagic — CI/CD platform built specifically for Flutter and mobile apps
- Mason — Template generator for scaffolding Flutter projects and features
- Very Good CLI — Opinionated Flutter project generator with testing and best practices built in
- Widgetbook — Widget catalog and design system tool for Flutter, like Storybook for Flutter
- Flutter Inspector — Built-in widget inspector for debugging Flutter layouts and render trees
- Patrol — Native UI testing framework for Flutter with platform-specific capabilities
- Riverpod Generator — Code generation for Riverpod state management, reducing boilerplate