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

BLoC – writing business logic separately

BLoC stands for business logic component. This technique is widely used in a lot of applications due to its capability of decoupling your core business logic from your UI, network, or repository classes. BLoC works on streams underneath and allows you to send events from your UI and receive states to your UI in order to update the changes based on user interaction. Inside BLoC state management, there are three main keywords you will have to get yourself familiarized with:

  • The bloc itself (all your business logic lies inside this class)
  • The state (this tells the UI when to update itself)
  • The event (you trigger the events from your UI class in order to do something inside your bloc)

Adding a BLoC dependency in your application

Just like before, create a new Flutter application through the command line:

flutter create any_name_you_wish

You will get the same counter example application with the default setState...