Skip to content
UdemyMobile DevelopmentPaid courseAll LevelsCertificate

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

icon
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

icon
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

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

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.

icon
More courses by Hadi Kachmar

$64.99

$79.99

$59.99

$59.99

$74.99

$64.99

icon
More Mobile Development courses

$19.99

$74.99

$74.99

$39.99

$19.99

$84.99

icon
Reviews

4.5

118 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

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

Showing all 10 reviews on CourseDuck

Read all 118 reviews on Udemy

icon
Quality Score

No CourseDuck member has rated this course yet. Taken it? Give each part a thumbs up or down.

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 90 / 100