Book Image

Managing State in Flutter Pragmatically

By : RAHUL AGARWAL, Waleed Arshad
Book Image

Managing State in Flutter Pragmatically

By: RAHUL AGARWAL, Waleed Arshad

Overview of this book

Flutter is a cross-platform user interface (UI) toolkit that enables developers to create beautiful native applications for mobile, desktop, and the web with a single codebase. State management in Flutter is one of the most crucial and complex topics within Flutter, with a wide array of approaches available that can make it easy to get lost due to information overload. Managing State in Flutter Pragmatically is a definitive guide to starting out with Flutter and learning about state management, helping developers with some experience of state management to choose the most appropriate solutions and techniques to use. The book takes a hands-on approach and begins by covering the basics of Flutter state management before exploring how to build and manipulate a shopping cart app using popular approaches such as BLoC/Cubit, Provider, MobX, and Riverpod. Throughout the book, you'll also learn how to adopt approaches from React such as Redux and all its types. By the end of this Flutter book, you'll have gained a holistic view of all the state management approaches in Flutter, and learned which approach is the best solution for managing state in your app development journey.
Table of Contents (14 chapters)
1
Section 1:The Basics of State Management
4
Section 2:Types, Techniques, and Approaches
8
Section 3:Code-Level Implementation

Summary

We studied three major state management approaches in this chapter – the GetX package, the GetIt package, and Binder.

GetX is well-known for abstracting out all the core state management boilerplate code and giving the developer the ease of using readable and maintainable code. GetX uses the GetBuilder widget, the GetMaterialApp widget, and the GetxController class to connect code together. GetX is also very handy for neatly managing navigations in your application.

GetIt uses the ChangeNotifier class to reflect changes to the UI. It also uses dependency injection to make all the model classes available to the whole application. It uses the basic setState function to update the UI.

Binder uses scopes, state references, and view logic classes to manage states inside a Flutter application. It uses the LogicRef class to inject scope inside the ViewLogic class and the StateRef class to manage the latest values of your model classes.

The next three chapters are...