Sorry, this page is no longer available
We may earn an affiliate commission when you visit our partners.
Course image
Hadi Kachmar

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

Read more

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 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

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

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

Introduction
Course for the best price
GitHub & Discord & Youtube & FB
What will you learn in this course?
Read more

Quiz Related to the Provider State Management

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Explores MVVM architecture, which is a popular design pattern for structuring Flutter applications and promoting maintainability
Covers multiple state management solutions like Provider, Riverpod, and BLoC, which allows learners to compare and contrast their approaches
Requires basic familiarity with Flutter widgets and Dart, suggesting that learners should already have some experience with Flutter development
Uses Camtasia 2023, which may be a barrier to entry for some learners who do not have access to this video editing software
Teaches REST API integration and CRUD operations, which are essential skills for building data-driven mobile applications

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Advanced flutter state management with mvvm

According to learners, this course offers a comprehensive deep dive into MVVM architecture and various state management solutions in Flutter, including Provider, Riverpod, and BLoC. Many found the explanations clear and practical, especially praising the hands-on approach through the movie app project. The course is generally considered highly valuable for developers looking to build scalable and maintainable applications. However, some reviewers noted that certain sections could be challenging or felt rushed, suggesting it's best suited for those with a solid foundation in Flutter. Access to complete source code is frequently highlighted as a major plus.
Generally good code, some sections need checks.
"I appreciate having the complete source code available for reference."
"The provided source code is very helpful and follows good practices."
"Some dependencies or code patterns might need slight adjustments due to Flutter updates."
"The code examples are generally clean and well-structured."
Teaching style generally effective.
"The instructor explains concepts clearly and provides good insights."
"I found the instructor's pacing and explanations easy to follow."
"The instructor is knowledgeable and passionate about the topic."
Detailed breakdown of the architecture.
"The explanation of the MVVM architecture itself was very clear and in-depth."
"I finally understand MVVM thanks to this course's detailed explanations."
"The initial sections on MVVM architecture were well-explained and easy to follow."
Hands-on project helps solidify concepts.
"Building the movie app alongside the lectures made the concepts much easier to grasp and apply."
"The practical project helped me see how MVVM and state management are used in a real-world scenario."
"I loved the hands-on coding and practical project examples throughout the course."
"The movie app project is a great example to work with."
Comprehensive coverage of key techniques.
"I really appreciate how the course covers multiple state management solutions (Provider, Riverpod, BLoC)."
"This course is a great resource for comparing and understanding Provider, Riverpod, and BLoC within the MVVM pattern."
"Getting insights into BLoC and Riverpod alongside Provider in one course is incredibly helpful."
"It covers MVVM using setState, Provider, Riverpod and BLoC which is very helpful for comparison."
May require strong Flutter foundation.
"Some parts were quite challenging and moved quickly; definitely for intermediate+ developers."
"I felt a bit lost in certain sections, suggesting a very solid prerequisite knowledge is needed."
"This course is definitely advanced, beginners might struggle without prior experience."
"Be prepared, it's not a course for absolute beginners."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Advanced Flutter: MVVM with Provider, Riverpod | BLoC with these activities:
Review Flutter Basics
Reinforce your understanding of fundamental Flutter widgets and Dart syntax to ensure a smoother learning experience with advanced state management techniques.
Browse courses on Flutter
Show steps
  • Review basic Flutter widgets like `StatelessWidget` and `StatefulWidget`.
  • Practice building simple layouts using `Row`, `Column`, and `Container`.
  • Refresh your knowledge of Dart fundamentals, including variables, data types, and control flow.
Read 'Flutter Complete Reference'
Supplement your learning with a comprehensive guide to Flutter development, covering widgets, layouts, and state management.
Show steps
  • Obtain a copy of 'Flutter Complete Reference'.
  • Read the chapters related to widgets and layouts.
  • Refer to the book when encountering unfamiliar concepts in the course.
Implement a Simple Counter App with Different State Management Solutions
Solidify your understanding of different state management solutions by implementing a simple counter app using setState, Provider, Riverpod, and BLoC.
Show steps
  • Create a new Flutter project.
  • Implement a counter app using `setState`.
  • Refactor the app to use Provider for state management.
  • Refactor again to use Riverpod.
  • Finally, refactor to use BLoC.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice API Integration
Enhance your API integration skills by practicing fetching and displaying data from a public API.
Browse courses on REST APIs
Show steps
  • Choose a public API (e.g., OpenWeatherMap, The Dog API).
  • Create a Flutter app to fetch data from the API.
  • Display the fetched data in a user-friendly format.
Create a Blog Post on MVVM in Flutter
Deepen your understanding of the MVVM architecture by writing a blog post explaining its benefits and implementation in Flutter.
Browse courses on MVVM
Show steps
  • Research the MVVM architecture and its advantages.
  • Outline the structure of your blog post.
  • Write the blog post, including code examples and explanations.
  • Publish your blog post on a platform like Medium or Dev.to.
Read 'Clean Architecture: A Craftsman's Guide to Software Structure and Design'
Expand your knowledge of software architecture principles by reading a book on clean architecture.
View Clean Architecture on Amazon
Show steps
  • Obtain a copy of 'Clean Architecture'.
  • Read the chapters related to architectural patterns and design principles.
  • Reflect on how these principles apply to the MVVM architecture in Flutter.
Contribute to a Flutter Package
Apply your knowledge and contribute to the Flutter community by contributing to an open-source Flutter package related to state management or UI components.
Browse courses on Flutter
Show steps
  • Find an open-source Flutter package on GitHub.
  • Identify an issue or feature to work on.
  • Fork the repository and implement the changes.
  • Submit a pull request with your changes.

Career center

Learners who complete Advanced Flutter: MVVM with Provider, Riverpod | BLoC will develop knowledge and skills that may be useful to these careers:
Flutter Developer
A Flutter Developer specializes in building user interfaces and applications using the Flutter framework. This course is highly relevant to this role, as it is entirely focused on advanced Flutter development. The course guides learners through implementing the Model-View-ViewModel architecture, a best practice for complex application development. It also covers various state management approaches, which are essential for building robust and scalable Flutter applications. By taking this course, you gain a comprehensive understanding of advanced Flutter concepts, techniques, and patterns, which is highly valued by potential employers.
Mobile Application Developer
A Mobile Application Developer designs and builds applications for mobile devices. This course is directly applicable because it focuses on building a movie application using Flutter, a popular framework for cross-platform mobile development. The course covers implementing the Model-View-ViewModel architecture with different state management solutions including Provider, Riverpod, and BLoC, all of which are crucial for building scalable and maintainable mobile apps. Taking this course provides hands-on experience with these technologies and principles, better preparing you for creating high-quality mobile apps.
Mobile UI Developer
A Mobile UI Developer is responsible for crafting the user interface of mobile applications. This course is highly beneficial for this role given the course builds a complete movie app, requiring full implementation of the user interface, which will help improve your skillset. The course helps to improve skills in implementing and managing UI elements with the Flutter framework. The emphasis on clean code, which is stressed in the course, and how to avoid boilerplate code is especially helpful. Mastering state management, as taught in this course with Provider, Riverpod, and BLoC, is also essential for creating efficient and performant user interfaces.
Software Engineer
A Software Engineer designs, develops, and maintains software systems. A Software Engineer who works with mobile applications will find this course exceptionally useful because it teaches many core concepts involved in mobile application development and architecture. The course emphasizes MVVM architecture and state management, which are essential for building scalable and maintainable software. The work covered in the course, which involves building a movie app using different state management solutions, helps improve your understanding of these concepts. This course guides you through the process of building a full fledged application, covering many typical use cases.
Application Architect
An Application Architect designs the structure and framework of software applications. Taking this course will be very useful for an Application Architect who is focusing on mobile apps due to the coursework's deep dive into Model-View-ViewModel architecture and its implementation with various state management solutions. The practical experience gained from implementing MVVM in Flutter using different state management strategies such as setState, Provider, Riverpod, and BLoC, is particularly valuable for an architect. This course helps you to build a strong understanding of how to structure a complex application, which is a skill required for this role.
Mobile Solutions Architect
A Mobile Solutions Architect is responsible for designing the overall structure of mobile solutions. This course is particularly useful because it provides direct experience with the Model-View-ViewModel architecture and different state management solutions as used in Flutter. The course's implementation of MVVM using setState, Provider, Riverpod, and BLoC, helps you gain a robust understanding of these approaches. Because solutions architects are expected to be fluent in these concepts, this course will help you to be better prepared for your work as a Mobile Solutions Architect.
Front-End Developer
A Front End Developer is responsible for creating the user interface and user experience of websites and applications. While this course centers on mobile app development with Flutter, the principles of UI development and state management learned here are transferable to web development. Building the movie application with its various screens and user interactions will help to build a foundation of skills. The course's emphasis on MVVM architecture and different state management techniques such as Provider, Riverpod, and BLoC, help build a foundation that may serve you well in this direction. You may find many of the same design patterns in web development.
Full-Stack Developer
A Full Stack Developer works on both the front-end and back-end of applications. Although this course focuses on the front-end using Flutter, the topics covered such as state management, API integration, and app architecture are also vital for the back-end. This course provides a strong foundation in mobile application architecture and development. You will be learning REST API integration and CRUD operations as well as general coding principles that may be useful for back-end work. Furthermore, the experience with managing state and implementing the MVVM pattern is very useful for a full stack developer.
Technical Team Lead
A Technical Team Lead is responsible for guiding a team of engineers. This course will help you guide on mobile development related projects. A Technical Team Lead, especially when managing mobile projects, must have a clear understanding of architecture and best practices. This course emphasizes these topics when building a movie application, especially the use of MVVM and various state management techniques. The course's focus on clean code and avoiding boilerplate is especially important for leading a team focused on producing high-quality work. The depth with which this course covers state management also makes it a good fit for a technical lead.
Software Development Consultant
A Software Development Consultant advises organizations on the best practices for software development. Your knowledge from taking this course will be very useful for providing insightful recommendations on mobile application development. Understanding MVVM architecture and state management techniques are essential for advising on scalable app development. This course offers a deep dive into specific state management solutions used with Flutter, making your knowledge especially helpful. The hands-on experience with implementing a movie app will show others your knowledge of mobile development using Flutter.
Mobile Application Tester
A Mobile Application Tester is responsible for ensuring the quality of mobile applications. While this course focuses on development, it provides you with a strong understanding of how mobile applications are built. Knowing this helps an application tester to understand the architecture design and state management of the app. The course also provides complete source code, allowing you to see how the app operates and to test its functionality. Also, the experience with a variety of state management techniques, including Provider, Riverpod, and BLoC, will help you know the structure of application architecture.
Game Developer
A Game Developer creates video games. Though this course centers on mobile app development with a specific business use case, the architectural principles and state management strategies covered in the course are often used in game development. The course emphasizes clean coding principles and avoiding boilerplate code, which are important considerations for game developers as well. The course also helps build familiarity with state management and design patterns, which are core for game development. Although the use cases of this course are different, many of the skills may be transferred to game development.
embedded systems developer
An Embedded Systems Developer designs software for embedded systems. While this course is focused on mobile application development with Flutter, the underlying principles of software architecture, state management, and clean coding practices are transferable. The approach to building a complete movie app will give you valuable experience with implementing good design and architecture. In this course, you will learn about a variety of state management techniques and their application in an MVVM architecture, which helps build a foundation of skills. These skills may be used in building any software project.
Development Operations Engineer
A Development Operations Engineer manages the infrastructure for software development. Although this course focuses on Flutter application development, it provides valuable insights into the software development lifecycle, especially from a development perspective. This allows for a better understanding of the underlying mechanisms of the software application from a development point of view. The course also emphasizes how to build well-structured applications, which can help build a better understanding of development and deployment challenges. The hands-on experience from building a real application is helpful.
Technical Writer
A Technical Writer produces documentation for software products. This course provides a deep understanding of Flutter app development, which can be useful for writing documentation specific to Flutter and MVVM architecture. This course helps build an understanding of concepts such as state management with Provider, Riverpod, and BLoC, as well as overall app architecture, all of which are useful to a technical writer who documents these tools. The complete project and source code means that a writer can clearly understand the product from an in-depth perspective.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Advanced Flutter: MVVM with Provider, Riverpod | BLoC.
Provides a deep dive into the principles of clean architecture, which are highly relevant to the MVVM pattern used in the course. It explains how to design software systems that are maintainable, testable, and independent of frameworks and databases. Reading this book will help you understand the underlying principles behind the MVVM architecture and how to apply them effectively in your Flutter projects. This book is valuable as additional reading to provide more depth to the existing course.
Provides a comprehensive guide to Flutter development, covering a wide range of topics from basic widgets to advanced concepts. It serves as a valuable reference for understanding the underlying principles of Flutter and how to implement various UI components. While not strictly required, it offers additional depth and breadth to the course material, especially for those new to Flutter or seeking a more structured learning path. It is commonly used as a textbook in academic settings.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser