Advanced Flutter: MVVM with Provider, Riverpod | BLoC (Udemy.com)
In-Depth Guide to Clearn Architecture With MVVM in Flutter: Mastering State Management with Provider, Riverpod + BLoC
Created by: Hadi Kachmar
Last updated November 2024
What you will learn
- Master the MVVM Architecture in Flutter
- Implement Different State Management Solutions
- setState, Provider, Riverpod, BLoC State managements
- Rest API integration & CRUD operations
- Teaching how to write Clean-code and avoid Boilerplate code
- Prepare for Real-World Flutter Projects
How it compares
Against the other 149 rated Udemy courses in Mobile Development on CourseDuck:
- Rating4.5 out of 5higher than 62% of them
- Reviews118#95 of 150 by number of reviews
- Length11.6 hourslonger than 65% of them
- Last updatedNovember 2024earlier than 51% of them
Course Description
Dive into the depths of Flutter's MVVM architecture with different state managements in this comprehensive course designed for intermediate to advanced and expert developers. Learn how to build a dynamic movie app that interacts with a REST API, manages local favorites, and incorporates genre mapping for enhanced functionality with Dark and Light themes. This course will guide you through the journey of implementing MVVM with different state management strategies—setState, Provider, Riverpod, and BLoC—each covered in dedicated sections to provide you with a robust understanding of each approach.
Prerequisites:
Basic knowledge of programming
Basic familiarity with Flutter Widgets and Dart
Basic understanding of REST APIs is a plus, but we cover this in detail
Enthusiasm for learning state management in-depth
Macbook or Windows to develop
Any preferred IDE (such as Android Studio or IntelliJ IDEA), or a preferred text editor (like VS Code)—just not Microsoft Word!
Recording Equipment:
Video Editing Software: Camtasia 2023
Microphone: Blue Yeti X
This setup ensures that all course videos are clear and professionally produced.
What You Will Learn:
Implementing MVVM architecture in Flutter for scalable app development
Connecting to a REST API to fetch and display movie data
Local data management for user favorites
Advanced state management techniques with setState, Provider, Riverpod, and BLoC
Theme management in Flutter apps for dynamic light and dark modes
Course Structure:
Duration: Approximately 12 hours of content
MVVM Section, UI section, API section, and different sections for the state managements
Lecture length: each lecture is around 10 min
What to Expect After This Course:
Proficiency in using MVVM architecture for complex Flutter applications
Deep understanding of various state management techniques and when to use them
Skills to design and manage both themes and local databases in Flutter
Enhanced capability to handle real-world Flutter projects that require advanced state management and API integration
Limitations and Notes:
The course code works for all platforms supported by Flutter
The course project is designed for portrait mode responsiveness.
Resources:
Complete source code for the movie app for each state management explained in the course (setState, Provider, Riverpod, BLoC)
Step-by-step guides on implementing each feature
Access to slides and additional reading materials
Instructor Details
- 4.5 Rating
118 Reviews
Hadi Kachmar
Hello, I'm Hadi! With dual Master’s degrees in Computer & Communication Engineering and Data Science & Artificial Intelligence, my academic and professional journey is as dynamic as the technologies I teach. Starting my career as a native mobile developer, I transitioned into the fascinating world of Flutter a few years ago, embracing the role of both a Senior Software Engineer and an online instructor.
My expertise spans from crafting elegant front-end designs with Flutter since 2019, to implementing sophisticated AI solutions. As a dedicated instructor, I specialize in teaching Dart/Flutter and AI, aiming to impart practical skills and cutting-edge knowledge that prepare my students for real-world challenges.
Whether you're looking to enhance your programming skills or dive into the realms of artificial intelligence, I am here to guide you through each step—ensuring you gain not only proficiency but also confidence in your abilities. Join me on this learning adventure to elevate your skills and transform your career.
More courses by Hadi Kachmar
Flutter 1.2 with Firebase&Stripe Build shop app from scratch (2023)
4.4 (649 Reviews)
Provider: Udemy
Time: 14.7h
$64.99
Flutter+Firebase Build a Grocery App&WEB Admin Panel [2024]
4.5 (455 Reviews)
Provider: Udemy
Time: 18h
$79.99
Flutter & Firebase: build an E-commerce and Admin App [2024]
4.4 (140 Reviews)
Provider: Udemy
Time: 11.9h
$59.99
Flutter 3.0 Rest API crash course build a News app from zero (2023)
4.4 (134 Reviews)
Provider: Udemy
Time: 7.2h
$59.99
Flutter 2.2 & Firebase, build a complete app from scratch (2023)
4.2 (99 Reviews)
Provider: Udemy
Time: 9.1h
$74.99
Flutter 3.0 & Rest API from scratch, build a mini Store app (2023)
4.2 (77 Reviews)
Provider: Udemy
Time: 3h
$64.99
More Mobile Development courses
Flutter Mobile App: Build Chatbot with Firebase & Gemini AI (2026)
4.9 (775 Reviews)
Provider: Udemy
Time: 13.8h
$19.99
Android MVVM Architecture complete course (2026)
4.7 (890 Reviews)
Provider: Udemy
Time: 3.4h
$74.99
Android App's Development Masterclass - Build 2 Apps - Java (2023)
4.7 (271 Reviews)
Provider: Udemy
Time: 7.8h
$39.99
The Best React Native Course 2026 (From Beginner To Expert)
4.6 (735 Reviews)
Provider: Udemy
Time: 24.3h
$19.99
The Ultimate 70+ Hours iOS Development Bootcamp (2025)
4.6 (672 Reviews)
Provider: Udemy
Time: 74.2h
$84.99
Reviews
By Ajinkya Mandavkar on 2/6/2026
I purchased this course for getting clarity on confusion with using Provider, RiverPod & BloC. Good to know "BloC" is still industry standard and it was revision for me on BloC but I would suggest add something related to hydrated_bloc plugin & bloc related family plugins to provide more usecases for robust usage. "RiverPod" was entirely new and was difficult to understand development style so needs lots of practice to get better with it. It really has good future if maintained and there should be family of it's plugins supporting like BLoC for growing it's community. "Provider" also got revision but seems can get buggy over time with respect to it's tight couple nature with context & widget tree. A last suggestion is can you provide "streams" with MVVM architecture approach for those coming from native Android.
By Muhammad Ameer Hamza on 7/9/2025
Amazing course Thanks for the Sir Hadi , for providing the best course ever using MVVM architecture and different types of State Management, Again thanks!
By Ehtisham Ali on 6/21/2025
It is to the point, excellent and latest stuff, and everything is super straight, no irrelvant and unnecessary scalable stuff.
By Jyoti prajapati on 3/3/2025
I would definitely recommend this course to you, as it is not only helpful for learning, but also focuses on practical aspects. My overall experience has been very good and I am thankful for this course.
By Rafał Siwierski on 2/11/2025
The course is a good introduction to MVVM and compares different state management solutions. The topics it covers are especially interesting to me as a beginner in Flutter. From my point of view, I would love to hear more about MVVM and how to use it inside a project. It would also be helpful if the sample project included more complex scenarios, such as caching data for a certain period, canceling requests, sending data, or using streams. I think it would be better to attach a link to the GitHub repository with changes for each lesson instead of providing compressed projects—sometimes it’s inconvenient to figure out what has changed. Besides that, I find the course interesting, and I have learned a lot from it. Thank you!
By Adnan Ramulj on 2/9/2025
So all in all a good course if you want to gain an overview of how different state management providers work in flutter. Basically it covered pretty much basic usage of different state management providers on a relatively small app, but app which covers pretty much most of the real-life scenarios (splash screen, navigation, loading data from API, storing data locally...) which are pretty much default to any modern app. Pros: - You will get idea on how to write cleaner code and structure your code to comply with MVVM pattern - You will learn how to handle API requests (repository/service pattern) and how to handle app internal state like theme handling by using SharedPreferences with your state provider - You will get a simple idea how to perform some of CRUD operation in your app locally, adding/removing data from lists - You will get clearer understanding or maybe an idea with which state provider you could go in your project (provider, riverpod, bloc...) Cons: (personal opinion) - A lot of copy/pasting - Going through lectures maybe a bit too fast, even though it's said in a lot of videos to go through multiple times it's just a lot of code moving and it just makes you lose the focus and understanding of what is going on - I feel like these are just the most basic usage cases and we are not going into any specific provider with a lot of details My personal suggestions or what I would like to see in one course: - Simple API with Authentication and data persistency other than Firebase (maybe multiple auth providers and our api auth with jwt tokens) - Handling authentication and authorization (sign in, token refresh, signout) - Handling navigation, displaying, fetching/posting, error handling, submission of forms or any other type of data - So basically simple app like todo app but with some more features Conclusion: All in all good course, didn't regret buying it since I've got to see how different packages work and I got clearer image of what I could use in my projects. But if you want to learn specific provider this is not the course which covers any of the providers in depth. So it's good if you want to get overview of state managements, diving into specific state management provider is unto you.
By Arun Menon on 1/3/2025
I am new to Flutter and was looking to gain some knowledge on popular state management approaches/packages as well as use MVVM and was really lucky to find this course that does exactly that. Instructor is quite knowledgeable and i like the approach where the same core solution is done up from scratch using each of these state management solutions. I hope that the course will be updated in the future as the landscape changes.
By Daniel Casey on 12/10/2024
I really like the fact that the instructor provided the source code for most of the lectures. The instructor was also willing to answer questions. The instructor was very good at explaining the material in the course.
By Rowina Seidler on 11/9/2024
Perfectly covers everything I wanted to learn about state-management plus more I did not expect (such as get_it). I wish I had learnt about MVVM a year ago. I have been building my Flutter app for nearly a year now and I am seeing that I might need to refactor all my code. Better late than never I guess! I did a degree in Computer Science and AI 20 years ago. Went immediately into teaching (thought it would just be short-term but loved it) and never coded again (until I had an idea for an app a year ago). As you can imagine, a lot has changed in 20 years and I feel this course has helped fill in a lot of gaps! Thanks for all your hard work on this course!
By Asadullah Khan on 10/22/2024
Please make one user registration/login function using bloc and check if the user is already login, don't go to the login screen
Quality Score
No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.
Overall Score : 90 / 100

![Flutter+Firebase Build a Grocery App&WEB Admin Panel [2024]](/programming/flutter/images/4593816_23e9_3.jpg?v=1789443545)
![Flutter & Firebase: build an E-commerce and Admin App [2024]](/programming/mobile-development/images/5246870_67ad_4.jpg?v=1789443550)









