Getting Started

See why you should take this course and what you will learn.

To start this course, we need to set up the Flutter framework. Luckily, the Educative platform has already done this in the provided executable code examples. We’ll play around with these code environments throughout the course to give you some hands-on practice. However, you can also set up Flutter locally using the instructions available in the Appendix Chapter.

Prerequisites and intended audience

This course is for intermediate to advanced learners and professionals, who have learned Flutter but want to know more about Flutter state management.

The most confusing part of state management in Flutter is that there are so many options available. While the options give developers a lot of versatility, they also can also make it quite challenging to pick up the right one for each use case.

A Flutter developer

This course will not only teach how to find the right choice but, at the same time, explore how the state object works under the hood in Flutter.

Let’s see all the state management options at one glance. After that, we will start our journey to understand Flutter state management and its best practices.

Multiple options for state management

  1. StatefulWidget
  2. InheritedWidget
  3. ChangeNotifier with Provider
  4. ValueNotifier with Provider
  5. StateNotifier with Provider
  6. Riverpod
  7. BLoC library
  8. MobX
  9. Redux
  10. Fish Redux
  11. Async Redux
  12. RxDart View Model
  13. StreamProvider
  14. Flutter Hooks
Too many options

Riverpod

To avoid confusion, we’ll stick to one great choice, which is the Riverpod state management library. We will learn how to use it in detail.

However, before understanding Riverpod, we need to first understand the Provider package and its limitations. Remember to always use the latest Provider and Riverpod packages for state management.

We also strongly recommend using the latest version of Flutter and always maintain null safety.