← All Courses
Learn Dart & Flutter logo

Learn Dart & Flutter

Coming Soon

Mobile, 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:

  1. Learn Dart Fundamentals — Start with Dart syntax, types, classes, null safety, and async/await using the Dart Language Tour
  2. Set Up Flutter — Install Flutter SDK, configure your IDE (VS Code or Android Studio), and run your first app
  3. Understand the Widget Tree — Learn how Flutter’s declarative UI works with StatelessWidget, StatefulWidget, and the build method
  4. Build Basic UIs — Practice layouts (Row, Column, Stack), Material widgets, navigation, and theming
  5. Learn State Management — Start with setState, then learn Riverpod or Provider for managing app state at scale
  6. Work with Data — Handle HTTP requests, parse JSON, use local storage (Hive, SharedPreferences), and connect to Firebase
  7. Build a Complete App — Create a full app with navigation, forms, authentication, persistent data, and polished UI
  8. Test Your Code — Learn widget testing, unit testing, and integration testing with Flutter’s built-in test framework
  9. Explore Advanced Topics — Animations, custom painters, platform channels, Dart FFI, and performance optimization
  10. 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

Interactive Courses & Hands-On Platforms

Free Courses

University & MOOC Courses

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

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

Essential Paid Books

Community, Practice & News

Forums & Discussion

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