Mô tả

[All source code has been updated based on flutter 3.x and flutter_bloc 8.1.4, lint rules have been applied, and class modifiers have been applied to state and events.]

To provide better service and improve communication skills in English, AI-dubbed lectures are added at the end of the course.  You can choose bsed on your preference. Thank you so much. I hope my lectures are helpful for you to expand your knowledge.


In the Flutter Bloc Essential course, you can learn in depth about Bloc, the popular Flutter state management solutions.

In particular, it covers only the most recent version, version 8.0 or higher.

If you want to deepen your understanding of the Flutter Bloc and put all the concepts into practice, then this course is for you.

The lecture was carefully composed to ensure a balance between theory and practice.

And under the belief that repetition is the most important learning method, whenever there is a new concept, we will test the concept by making a small app, and through real-world apps such as TODO, Weather, and Firebase Authentication app, the concepts will come together comprehensively.

In particular, we repeatedly practice the combination of Cubit and Bloc when creating TODO, Weather, and Firebase Authentication apps.


  • TODO App (4 implementations): 1. Combination of Cubit and StreamSubscription, 2. Combination of Cubit and BlocListener, 3. Combination of Bloc and StreamSubscription, 4. Combination of Bloc and BlocListener

  • Weather App (4 implementations): 1. Combination of Cubit and StreamSubscription, 2. Combination of Cubit and BlocListener, 3. Combination of Bloc and StreamSubscription, 4. Combination of Bloc and BlocListener

  • Firebase Authentication App: Cubit + Bloc + StreamSubscription


This is a quick look at everything covered in the course.


  • Cubit/Bloc concept

  • BlocProvider, BlocListener, BlocConsumer, RepositoryProvider, MultiBlocProvider, MultiBlocListener, MultiRepositoryProvider

  • BuildContext extension methods: read, watch, select

  • Passing extra information to Cubit/Bloc: function argument and event payload

  • Cubit/Bloc-to-Cubit/Bloc communication: StreamSubscription, BlocListener

  • Bloc Access and value named constructor: anonymous route access, named route access, generated route access, global access

  • Observing Cubit/Bloc

  • The Event Transformation feature of Bloc

  • Hydrated Bloc

  • TODO App: 4 implementations through various combinations of Cubit, Bloc, StreamSubscription, and BlocListener

  • Weather App: 4 implementations through various combinations of Cubit, Bloc, StreamSubscription, and BlocListener

  • Firebase Authentication App: Combination of Cubit, Bloc, and StreamSubscription

Bạn sẽ học được gì

Cover Flutter Bloc version 8.0 or higher

Learn two state management methods provided by Flutter Bloc called Cubit and Bloc

Communication method between Cubits, between Blocs, and between Cubits and Blocs

Tools that can use functions provided by Cubit/Bloc in UI

How to use on Event API introduced in version 8.0

How to observe Cuibt/Bloc

Event Transformation function of Bloc

Hydrated Bloc

Appropriate approaches to two state management tools: Cubit and Bloc

Create many small apps to understand the concept

Complete mastery of Flutter Bloc through 9 production process experiences through 3 apps (TODO/Weather/Firebase Auth) and various combinations of Cubit/Bloc

Yêu cầu

  • Requires some experience and understanding of Flutter

Nội dung khoá học

14 sections

Introduction

4 lectures
The background and target audience
03:11
Tutorial Structure
06:58
Tools used in tutorial
06:49
Introduction of AI Dubbed Lectures
00:10

Bloc Overview

30 lectures
Section Overview
11:59
(Notice) Updating source code and applying lint rules
01:08
The state style used in the tutorial
09:40
Injecting Cubits/Blocs into widget tree and Accessing Cubits/Blocs
04:18
Listening to state changes (listen: true option, BlocBuilder)
02:50
BlocListener & BlocConsumer
05:34
BuildContext extension methods
04:25
First app to use Bloc
08:54
Theme setting app: Passing additional information to Bloc's events
06:01
Theme setting app: context and Builder widget
02:41
Theme setting app: Cubit version
01:46
(Note) Bloc to Bloc Communication
00:53
Cubit to Cubit communication using StreamSubscription
13:03
Cubit to Cubit communication using BlocListener
04:10
Bloc to Bloc communication using StreamSubscription
05:26
Bloc to Bloc communication using BlocListener
04:38
Bloc Access: context
04:14
Bloc Access: Anonymous Route Access
07:18
Bloc Access: Named Route Access
02:34
Bloc Access: Generated Route Access
02:44
Observing Cubits/Blocs
08:40
(Notice) The breaking change in the way of observing Cubits/Blocs
00:20
(Deprecated) Observing Cubits/Blocs
08:49
Event Transformer
10:07
(Notice) Related to Hydrated Blocs
00:24
Hydrated Bloc
16:09
(Notice) Hydrated Bloc version upgrade
00:16
(Deprecated) Hydrated Bloc
08:37
Repository Provider
02:40
Cubit vs. Bloc
02:26

TODO App

25 lectures
TODO App Overview
03:38
TODO App Structure
03:07
Packages, folders and app skelton
03:07
Todo model and Filter enum
02:15
TodoFilterCubit
02:41
TodoSearchCubit
02:50
TodoListCubit
05:44
ActiveTodoCountCubit
04:34
FilteredTodosCubit
07:07
Injecting Cubits into widget tree
01:53
TodoHeader widget
04:22
CreateTodo widget
05:04
SearchAndFIlterTodo widget
05:55
ShowTodos widget
06:21
TodoItem widget
11:41
Reducing search volumes
03:01
todo_cubit refactoring using BlocListener
08:46
Bloc + StreamSubscription: TodoFilterBloc, TodoSearchBloc
06:45
Bloc + StreamSubscription: TodoListBloc
05:09
Bloc + StreamSubscription: ActiveTodoCountBloc
03:16
Bloc + StreamSubscription: FilteredTodosBloc
04:21
Bloc + StreamSubscription: Apply changes to UI
05:32
Applying EventTransformer to search
03:05
todo_bloc refactoring using BlocListener
09:47
TODO App further considerations
02:59

Weather App (OpenWeather)

18 lectures
(Notice) Service Provider Replacement
00:56
Weather App Overview
07:52
Packages, app folder structure, app page skeleton
03:25
Models
05:39
Weather API Services - 1
06:40
Weather API Services - 2
02:45
Weather Repository
04:16
Weather Cubit
06:01
SearchPage widget - Form
06:07
HomePage widget 1 - initial, loading, error
03:41
HomePage widget 2 - Platform aware dialog
03:01
HomePage widget 3 - weather loaded state
08:10
TempSettingsCubit
06:01
ThemeCubit
05:49
open_weather_cubit refactoring using BlocListener
03:27
open_weather_bloc (Bloc + StreamSubscription)
14:38
open_weather_bloc_listener (Bloc + BlocListener)
03:45
Weather App Further Considerations
02:05

Firebase Authentication App

15 lectures
Firebase Authentication App Overview
03:55
(Notice) Firebase Project Setup
00:33
firebase project setup using flutterfire_cli
11:50
folder structure, models
06:18
Page skeletons
01:37
AuthRepository
05:54
AuthBloc
08:56
SigninCubit
04:10
SigninPage widget - 1
06:57
SigninPage widget - 2
06:59
SignupCubit, SignupPage widget
06:34
HomePage widget
04:01
ProfileRepository, ProfileCubit
05:59
ProfilePage widget
09:41
Firebase Authentication App Further Considerations
01:29

Misc

1 lectures
Equatable package and dart data class generator extension
11:36

Outro

1 lectures
What's next?
01:04

(AI) Introduction

4 lectures
Beginning of AI Dubbed Lectures
00:07
The background and target audience
03:12
Tutorial Structure
06:58
Tools used in tutorial
06:42

(AI) Bloc Overview

23 lectures
Section Overview
11:58
The state style used in the tutorial
09:40
Injecting Cubits/Blocs into widget tree and Accessing Cubits/Blocs
04:18
Listening to state changes (listen: true option, BlocBuilder)
02:50
BlocListener & BlocConsumer
05:34
BuildContext extension methods
04:25
First app to use Bloc
08:54
Theme setting app: Passing additional information to Bloc's events
06:01
Theme setting app: context and Builder widget
02:41
Theme setting app: Cubit version
01:46
Cubit to Cubit communication using StreamSubscription
13:03
Cubit to Cubit communication using BlocListener
04:10
Bloc to Bloc communication using StreamSubscription
05:26
Bloc to Bloc communication using BlocListener
04:38
Bloc Access: context
04:14
Bloc Access: Anonymous Route Access
07:18
Bloc Access: Named Route Access
02:34
Bloc Access: Generated Route Access
02:44
Observing Cubits/Blocs
08:40
Event Transformer
10:07
Hydrated Bloc
16:09
Repository Provider
02:40
Cubit vs. Bloc
02:26

(AI) TODO App

25 lectures
TODO App Overview
03:36
TODO App Structure
03:07
Packages, folders and app skelton
03:07
Todo model and Filter enum
02:15
TodoFilterCubit
02:41
TodoSearchCubit
02:50
TodoListCubit
05:44
ActiveTodoCountCubit
04:34
FilteredTodosCubit
07:07
Injecting Cubits into widget tree
01:53
TodoHeader widget
04:22
CreateTodo widget
05:04
SearchAndFIlterTodo widget
05:55
ShowTodos widget
06:21
TodoItem widget
11:41
Reducing search volumes
03:01
todo_cubit refactoring using BlocListener
08:46
Bloc + StreamSubscription: TodoFilterBloc, TodoSearchBloc
06:45
Bloc + StreamSubscription: TodoListBloc
05:09
Bloc + StreamSubscription: ActiveTodoCountBloc
03:16
Bloc + StreamSubscription: FilteredTodosBloc
04:21
Bloc + StreamSubscription: Apply changes to UI
05:32
Applying EventTransformer to search
03:05
todo_bloc refactoring using BlocListener
09:47
TODO App further considerations
02:59

(AI) Weather App

18 lectures
(Notice) Service Provider Replacement
00:56
Weather App Overview
07:52
Packages, app folder structure, app page skeleton
03:25
Models
05:39
Weather API Services - 1
06:40
Weather API Services - 2
02:45
Weather Repository
04:16
Weather Cubit
06:01
SearchPage widget - Form
06:07
HomePage widget 1 - initial, loading, error
03:41
HomePage widget 2 - Platform aware dialog
03:01
HomePage widget 3 - weather loaded state
08:10
TempSettingsCubit
06:01
ThemeCubit
05:49
open_weather_cubit refactoring using BlocListener
03:27
open_weather_bloc (Bloc + StreamSubscription)
14:38
open_weather_bloc_listener (Bloc + BlocListener)
03:45
Weather App Further Considerations
02:05

(AI) Firebase Authentication App

15 lectures
Firebase Authentication App Overview
03:55
(Notice) Firebase Project Setup
00:33
firebase project setup using flutterfire_cli
11:50
folder structure, models
06:18
Page skeletons
01:37
AuthRepository
05:54
AuthBloc
08:56
SigninCubit
04:10
SigninPage widget - 1
06:57
SigninPage widget - 2
06:59
SignupCubit, SignupPage widget
06:34
HomePage widget
04:01
ProfileRepository, ProfileCubit
05:59
ProfilePage widget
09:41
Firebase Authentication App Further Considerations
01:29

(AI) Misc

1 lectures
Equatable package and dart data class generator extension
11:36

Outro

1 lectures
What's next?
01:04

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.