The number of people who have asked me to share Flutter Resources they can use to learn development has been insane! And since I started my Flutter blog, the number has grown exponentially.
I hate giving half-hearted responses, so I decided to create a massive and organized list of resources to help aspiring developers grow and stay organized. This list contains articles, YouTube videos, courses (non-affiliate), and even GitHub repositories that will help you kick off your Flutter development.
Although this list can be used as a roadmap, I don’t recommend it, reason being that a lot of the topics mentioned are not necessary for professional Flutter development.
For example, you don’t need to learn about every state management solution. Just picking one or two from this list will be good enough to understand the fundamentals.
One more side note. This list is not rigid, meaning that it will be updated from time to time.
Happy Fluttering 🚀
Download the PDF
Join my mailing list to download the list as a PDF and to receive updates to the list, as well as more free content to help you improve your Flutter Skills 🚀
Dart
Dart is the programming language used to build Flutter apps. Before you use Flutter (or even dive into these Flutter resources), you should be at least a little familiar with Dart and programming in general. Here are some Flutter resources that will help you improve your Dart skills!
Introduction
- Official Dart Website – Documentation
- A Gentler Introduction to Programming – Article
- Introduction to Dart – Article
- Dart Programming: Full Course – Video
Effective Programming
- Effective Dart – Documentation
- S.O.L.I.D. The first 5 Principles of Object-Oriented Design in Dart – Article
- Design Patterns in Dart – Repository
- 16 Dart Tips and Tricks Every Flutter Developer Should Know – Article
Asynchronous Programming
- Asynchronous Programming: Futures, await, async – Documentation
- Asynchronous Programming: Futures – Article
- Asynchronous Structures in Dart Programming – Article
- Asynchronous Programming: Streams – Documentation.
- Simple Beginners Guide to Streams – Video
Advanced Concepts
- Functional Programming in Dart – Slideshow
- DartZ – Package
- RxDart Explained – Video [Flutter Knowledge Required]
- RxDart – Package
- Dart (DartLang) Introduction: Advanced Dart Features – Article
Recommended Course
- The Complete Dart Language Guide For Beginners and Beyond – Andrea Bizzotto
Welcome To Flutter
Now that you know at least, the fundamentals of Dart programming, you can get started with learning how to develop apps with Flutter 🎉. These Flutter resources cover the basics of creating apps with Flutter.

- Official Flutter Website – Documentation
- Installing Flutter – Documentation
- Setting up an Editor – Documentation
- Running the starter template – Documentation
- Write your First Flutter App – Codelab
- Flutter Tutorial for Beginners – Build iOS and Android Apps with Google’s Flutter and Dart – Video
- Flutter Tutorial For Beginners – Free Course
- Flutter in 2 hours – Video
Widgets
- Introduction to Widgets – Documentation
- Widget Catalog – Documentation
Layouts
- Layouts in Flutter – Documentation
- Flutter layout CheatSheet – Article
- Breaking Layouts in Rows and Columns in Flutter – Article
Assets
- Adding assets and images – Documentation
- How to include images in your Flutter App – Article
Navigation and Routing
- Navigation cookbook – Documentation
- Learning Flutter’s New Navigation and Routing System – Article
Animations
- Introduction to Animations – Documentation
- Implicit Animations – Codelab
- Explicit Animations in Flutter – Video
Json & Serialization
- Json & Serialization – Documentation
- Flutter: Auto Create Models from JSON | Serializable – Video
- Convert Complex JSON to Dart Classes Easily – Video
Networking
- Networking cookbook – Documentation
- Http Requests with Flutter – Article
Local Storage
- Using SharedPreferences in Flutter – Article
- How to use Local Storage in Flutter – Article
- Hive: Light & Fast NoSQL Database in Pure Dart – Video
- Persist data with SQLite – Documentation
- Database Storage in Flutter Using Sqflite – Video
Firebase
Note: A lot of Firebase Tutorials are now outdated due to recent package updates. Any potentially outdated Flutter Resources will be marked with an asterisk (*). The most reliable learning resource is the official documentation.
- Website – Documentation
- Firebase for Flutter – Codelab
- Flutter and Firebase App Tutorial* – Free course
- Firebase Authentication and Flutter Full Course – Article
Recommended Course
- The Complete 2020 Flutter Development Bootcamp with Dart – Dr. Angela Yu
- Flutter and Firebase: Build a Complete App for iOS and Android – Andrea Bizzotto
State Management
State management can be very confusing to new Flutter Developers, the reason being that there are so many options.
But you do not need to know how to use every state management solution to be considered a good Flutter Developer.
Just knowing how to manage state using one or two packages and of course, the default state management solution in Flutter should be enough. The following Flutter resources (sorted by package/method) will help you learn the basics of using each solution.
- Adding interactivity to your Flutter App – Article
- Introduction to State Management – Article
- Intro to State Management – Documentation
- Understanding State Management in Flutter – Video
- Flutter State Management. The Grand Tour – Video
- Pros and Cons of Popular State Management Approaches – Article
Inherited Widget
- Inherited Widget: Widget of the Week – Video
- Inherited Widget – Documentation
- Managing Flutter Application State with Inherited Widgets – Article
Provider
- Flutter Provider: The Essential Guide – Video
- Introduction To Provider – Video
- Pragmatic State Management Using Provider – Video
- Provider Overview for Humans Article
- When in doubt, just use Provider – Article
Bloc & Cubit
- Website – Documentation
- Flutter Bloc and Cubit Tutorial – Video
- Flutter Bloc Concepts – Video
Redux
- Introduction to Redux in Flutter – Article
- Flutter Redux: Single Source of Truth – Video
MobX
- Transparent and Reactive State Management? – Video
- Flutter MobX Crash Course – Video
- Working with MobX in Flutter – Article
- State Management For Flutter Apps with MobX – Article
GetIt + GetIt Mixin
Riverpod
- Website – Documentation
- Flutter Riverpod Tutorial. The Better Provider – Video
- Flutter Riverpod Tutorial: Counter App – Article
- Exploring Riverpod and Building a Todo App – Video
- State Management Like a Pro. Flutter Riverpod – Video
GetX
- The Flutter GetX Ecosystem – Article
- GetX In Flutter – Article
- Complete GetX State Management – Video
Binder
- Application Examples – Repository
Architecture, Structure & Testing
If you’re a fan of writing your UI, application logic, and business logic in a single widget, this section is definitely for you. These Flutter Resources will teach you how to build scalable and maintainable applications using Flutter.

Architecture
- Flutter Architecture Samples – Repository
- Flutter Architecture: Go From setState to Architecture in 20 Mins – Video
- Starter Architecture for Flutter & Firebase Apps using Riverpod – Article
- Architect your app using Provider and Stream – Article
- Flutter and Provider Architecture using Stacked – Article
- Architect Your App Using the BLoC Pattern – Article
- Getting Started With the BLoC Pattern – Article
- Strategic Domain Driven Design for Improving Flutter Architecture – Talk
- Flutter Firebase & DDD Course – Free Course
- Flutter TDD Clean Architecture Course – Free Course
Structure
- Flutter File Structure for Big Projects – Video
- Flutter Folder Structure and Packages – Video
- Flutter Scalable Folder & File Structure – Article
Testing
- Testing Flutter Apps – Documentation
- How to Test Flutter Apps – Codelab
- Flutter Testing For Beginners – The Ultimate Guide – Video
- Testing Flutter Apps: Making Sure Your Code Works – Video
- Unit Testing With Flutter: Getting Started – Article
- Unit and Widget Testing in Flutter – Video
- Flutter: Deep Dive with Widget Tests and Mockito – Video
- Integration Testing – Documentation
- Updates on Flutter Testing – Article (105)
Deployment
Now that you’ve built your Flutter app, how do you release it to the stores? The following Flutter Resources cover just that.
Release
- Build and Release an Android App – Documentation
- Build and Release an iOS App – Documentation
CI/CD
- Continuous Delivery with Flutter (fastlane) – Documentation
- Getting Started with Codemagic CI/CD for mobile – Article
- Getting Started with Flutter Apps (bitrise) – Article
Contributing to Flutter
Want to make Flutter more fun to work with? Here’s how you can do that!
Packages and Plugins
- Developing Packages and Plugins – Documentation
- How to Create, Publish and Manage Flutter Packages – Article
- How to Write a Flutter Plugin – Codelab
- How to Create Dart Packages for Your Flutter Apps – Article
Contributing to The Framework
- Contributing to Flutter: Getting Started – Article
- Contributing to Flutter – README
Miscellaneous Topics
The next few Flutter Resources cover more specific and advanced topics.
More Widgets
- Widget of the Week – Playlist
- Deep Dive into Flutter TextField – Article
- A Deep Dive into PageView In Flutter – Article
- A Deep Dive into DatePicker In Flutter – Article
- A Deep Dive into Hero Widgets in Flutter – Article
- A Deep Dive into Draggable and Drag Target in Flutter – Article
- Flutter Deep Dive: Gestures: Gestures – Article
More Animations
- Animation deep dive – Article
- Flutter Hooks Tutorial – Video
- Use Rive and Flutter for dynamic, interactive, & animated experiences – Talk
- Complex Animations in Flutter Using Rive – Video
Better Development
- 5 Tools/Packages for Productive Flutter Development – Article
- VS Code Extensions Ever Flutter Developer Should Have – Video
- Visual Studio Extensions for Fast and Efficient Flutter Development – Article
- 12 Flutter Tips and Tricks – Video
- Flutter Tips (Dart & Flutter Easy Wins) – Article Series
- Flutter DevTools – Documentation
- Debugging Flutter Apps – Documentation
- Debugging (Boring Show) – Video
Performance
- Flutter performance best practices – Documentation
- Flutter Performance Profiling – Documentation
- Flutter Performance Tips: Flutter in Focus – Video
- How to improve the performance of your flutter app – Article
Painting
- Painting and Effect Widgets – Documentation
- Custom Painting in Flutter – Video
- Flutter Custom Painting. Do Not Fear The Canvas – Video
- Custom Paint in Flutter – Article
- How to Draw And Animate Designs with Flutter CustomPaint Widget – Article
Rendering
Game Development
- Building A 2D game in Flutter – Article
- Building Games Using Flame – Talk
- Flappy Bird: Flutter From Scratch – Video
- Super Mario: Flutter From Scratch – Video
New: Null Safety
- Null Safety in Flutter – Documentation
- Migrating to Null Safety – Documentation
- Null Safety In Flutter: A Simple Guide – Video
- Migrating a Flutter Package to Sound Null Safety – Video
More Resources
The following Flutter resources contain a list of websites, creators, tools and repositories to help you improve your Flutter Development.
- Official Website: flutter.dev
- Official Repository: flutter/flutter
Blogs and Websites
- Medium* – medium.com
- Reso Coder – resocoder.com
- Codemagic – codemagic.io
- Self Improving Developer – selfimproving.dev
- Code With Andrea – codewithandrea.com
- Filled Stacks – filledstacks.com
- Super Declarative – superdeclarative.com
- Fireship.io – fireship.io
- Dash Overflow – dash-overflow.net
- Wilson Wilson – wilsonwilson.dev
- Iiro.dev – iiro.dev
- It’s all widgets – itsallwidgets.com
- Jedi Pixels – jedipixels.dev
Youtube Channels
- Flutter
- Reso Coder
- Code With Andrea
- Flutter Explained
- Nick Manning
- Creative Bracket
- Robert Brunhage
- Tadas Petra
- Fireship
- Super Declarative
- Flutter Community
- creativecreatorormaybenot
- Learn Flutter Code
- Techie Blossom
- Fun With Flutter
- London App Brewery
- The Net Ninja
- Jedi Pixels
- The Flutter Way
More Resource Collections
Podcasts
Roadmaps
- Flutter Roadmap – Repository
- Flutter Development Roadmap – Repository
- Flutter Development Roadmap 2020 – Repository
Cool Repositories
- Flutter Example Apps
- Flutter Screens
- Flutter Learning
- Funvas Tweets
- Best Flutter UI Templates
- Flutter Samples
- Flutter Counter Challenge 2020
- Flutter Hover Effects