bloc_from_zero_to_hero
bloc_from_zero_to_hero copied to clipboard
π§ Learn how to use BloC and Cubit from Zero (0οΈβ£) to Hero (π¦ΈπΎββοΈπ¦ΈπΎββοΈ) π !!!
BLoC - from Zero to Hero 0οΈβ£ππΎπ¦ΈπΎββοΈπ¦ΈπΎββοΈπ
About this app π£
This app was created follow this entire tutorial ππΎ BLoC - from Zero to Hero.
Lesson/Branch π
-
#2 - BLoC Core Concepts - Streams, Blocs, Cubits | BLoC - from Zero to Hero / lesson-2-bloc-concepts
-
#3 - Flutter BLoC Concepts - BlocProvider, BlocBuilder, BlocListener | BLoC - from Zero to Hero / lesson-3-flutter-bloc-concepts
-
#4 - BLoC Architecture - Presentation, Business Logic & Data Layer + Model, Repository, DataProvider / lesson-4-bLoc-architecture
-
#5 - BLoC Testing - Why do you hate testing? It's actually pretty amazing! / lesson-5-bloc-testing
-
#6 - BLoC Access & Navigation - Local, Route & Global Access with BlocProvider / lesson-6-access-navigation-anonymous-routing | lesson-6-access-navigation-named-routing | lesson-6-access-navigation-generated-routing | lesson-6-access-navigation-generated-routing-bloc-global-access
-
#7 - BLoC to BLoC Communication - StreamSubscription, BlocListener & More Architecture Tips / lesson-7-bloc-communication-stream-subscription | lesson-7-bloc-communication-bloc-listener
-
#8 - BuildContext In-Depth Explanation - Fix BlocProvider.of() fails to find a context containing... / lesson-8-build-context
-
#9 - BLoC 6.1.0 Update - Important Changes, context.watch, context.select & context.read / lesson-9-bloc-update
-
#10 - Bloc State Not Updating - Comparing 2 objects in Dart, Equatable Package, How to Fix Issue / lesson-10-bloc-state-not-updating
-
#11 - Maintaining Flutter Application State with Hydrated Bloc / lesson-11-maintaining-state
-
#12 - Debugging Blocs & Cubits, Lazy Providing with BlocProvider, Naming Conventions / lesson-12-debug-bloc
Tips and Explanations π©πΎβπ«π¨πΎβπ«
BloC Architecture Suggestion
.
βββ lib/
β βββ business_login/
β β βββ blocs/
β β βββ cubits/
β βββ data/
β β βββ data_providers/
β β βββ models/
β β βββ repositories/
β βββ presentation/
β β βββ animations/
β β βββ pages/
β β βββ widgets/
βββ main.dart
Why BloC?
BloC extends Cubit
How Streams works
async*
yield
await
listen
App State Design
Event-State-Bloc 1
Event-State-Bloc 2
Event-State-Bloc 3
How BloC/Cubit event/states works 1
How BloC/Cubit event/states works 2
BlocProvider
Pure Function on BlocBuilder
BlocProvider BlocBuilder (builder/buildWhen)
BlocListener
BlocConsumer 1
BlocConsumer 2
MultiBlocProvider - MutiBlocListener = MultiRepositoryProvider 1
MultiBlocProvider - MutiBlocListener = MultiRepositoryProvider 2
BloC Architecture
BloC as Design Pattern/State Management Library/Architectural Pattern
BloC Architecture Suggestion Workflow START
BloC Architecture Suggestion Workflow END
Flutter Routing Options
Anonymous Routing
Named Routing 1
Named Routing 2
Generated Routing
Generated Routing with BloC Global Access 1
Generated Routing with BloC Global Access 2
Routing & Navigation resume/final notes
How a BloC/Cubit Listen another BloC/Cubit?
StreamSubscription PROS/CONS
Why BloC Listener over StreamSubscription?
BloC Listener PROS/CONS
BuildContext: 1st Wrong assumption
BuildContext: 2st Wrong assumption
BuildContext: 3st Wrong assumption
BuildContext: Navigator.of...
BuildContext: Navigator - Search for Closet
BuildContext: Navigator - Starting from this Exact BuildContext
BuildContext: Relationship
BuildContext: Widget Tree
BuildContext: BlocProvider.of...
BuildContext: BlocProvider Globally OK
BuildContext: BlocProvider Globally NOK
BuildContext: Example 1
BuildContext: Example 2
BuildContext: Example 3
BloC 6.1.0 Updates: Old way with MultiBlocBuilder
BloC 6.1.0 Updates: context.watch substitute for MultiBlocBuilder
BloC 6.1.0 Updates: How use context.watch
BloC 6.1.0 Updates: context.select substitute for BlocBuilder for simples cases with one condicion
BloC 6.1.0 Updates: How use context.select
BloC 6.1.0 Updates: context.bloc substitute for context.read!
BloC 6.1.0 Updates: Why and What is context.read
BloC 6.1.0 Updates: context.read in a Inefficient and Efficient way
BloC 6.1.0 Updates: Rebuild methods
Never mutate a existing state
BloC won't consecutively emit 2 identical states
Attention about Equatable
What is Hydrated BloC?
Hydrated BloC: How works
Hydrated BloC: from/to json flow
Hydrated BloC: it's not slow
BloC & Cubit: Debug methods
BloC & Cubit: Driven
BloC & Cubit: Debug method - onChange
BloC & Cubit: Debug methods - onEvent/onChange/onTransition 1
BloC & Cubit: Debug methods - onEvent/onChange/onTransition 2
BloC & Cubit: Debug methods - BlocObserver
BloC & Cubit: FAQ 1
BloC & Cubit: FAQ 2
BloC & Cubit: FAQ 3
BloC & Cubit: Naming Recommendations 0
BloC & Cubit: Naming Recommendations 1
BloC & Cubit: Naming Recommendations 2
BloC & Cubit: Naming Recommendations 3