Skip to content

samuelematias/bloc_from_zero_to_hero

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

73 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

BLoC - from Zero to Hero 0οΈβƒ£πŸ‘‰πŸΎπŸ¦ΈπŸΎβ€β™€οΈπŸ¦ΈπŸΎβ€β™‚οΈπŸš€


bloc-from-zero-to-hero-course


About this app πŸ—£

This app was created follow this entire tutorial πŸ‘‰πŸΎ BLoC - from Zero to Hero.

Lesson/Branch πŸ”–

Tips and Explanations πŸ‘©πŸΎβ€πŸ«πŸ‘¨πŸΎβ€πŸ«

BloC Architecture Suggestion

.
β”œβ”€β”€ lib/
β”‚   β”œβ”€β”€ business_login/
β”‚   β”‚    β”œβ”€β”€ blocs/
β”‚   β”‚    └── cubits/
β”‚   β”œβ”€β”€ data/
β”‚   β”‚   β”œβ”€β”€ data_providers/
β”‚   β”‚   β”œβ”€β”€ models/
β”‚   β”‚   └── repositories/
β”‚   β”œβ”€β”€ presentation/
β”‚   β”‚   β”œβ”€β”€ animations/
β”‚   β”‚   β”œβ”€β”€ pages/
β”‚   β”‚   └── widgets/
└── main.dart

Why BloC?

why-bloc

BloC extends Cubit

bloc-extends-cubit

How Streams works

streams-works-1 streams-works-2

async*

async

yield

yield

await

await

listen

listen

App State Design

app-state-design

Event-State-Bloc 1

event-state-bloc-1

Event-State-Bloc 2

event-state-bloc-2

Event-State-Bloc 3

event-state-bloc-3

How BloC/Cubit event/states works 1

bloc-cubit-event-states-works-1

How BloC/Cubit event/states works 2

bloc-cubit-event-states-works-2

BlocProvider

bloc-provider

Pure Function on BlocBuilder

pure-func-bloc-builder

BlocProvider BlocBuilder (builder/buildWhen)

bloc-provider-bloc-builder

BlocListener

bloc-listener

BlocConsumer 1

bloc-consumer-1

BlocConsumer 2

bloc-consumer-2

MultiBlocProvider - MutiBlocListener = MultiRepositoryProvider 1

multi-1

MultiBlocProvider - MutiBlocListener = MultiRepositoryProvider 2

multi-2

BloC Architecture

bloc-arch

BloC as Design Pattern/State Management Library/Architectural Pattern

bloc-ways

BloC Architecture Suggestion Workflow START

bloc-arch-start

BloC Architecture Suggestion Workflow END

bloc-arch-end

Flutter Routing Options

flutter-routing-options

Anonymous Routing

anonymous-routing

Named Routing 1

named-routing-1

Named Routing 2

named-routing-2

Generated Routing

generated-routing

Generated Routing with BloC Global Access 1

generated-routing-bloc-global-access-1

Generated Routing with BloC Global Access 2

generated-routing-bloc-global-access-2

Routing & Navigation resume/final notes

routing-resume-final-notes

How a BloC/Cubit Listen another BloC/Cubit?

bloc-cubit-listen

StreamSubscription PROS/CONS

stream-pros-cons

Why BloC Listener over StreamSubscription?

bloc-listener-over-strem

BloC Listener PROS/CONS

bloc-listener-pros-cons

BuildContext: 1st Wrong assumption

build-context-1

BuildContext: 2st Wrong assumption

build-context-2

BuildContext: 3st Wrong assumption

build-context-3

BuildContext: Navigator.of...

build-context-4

BuildContext: Navigator - Search for Closet

build-context-5

BuildContext: Navigator - Starting from this Exact BuildContext

build-context-6

BuildContext: Relationship

build-context-7

BuildContext: Widget Tree

build-context-8

BuildContext: BlocProvider.of...

build-context-9

BuildContext: BlocProvider Globally OK

build-context-10

BuildContext: BlocProvider Globally NOK

build-context-11

BuildContext: Example 1

build-context-12

BuildContext: Example 2

build-context-13

BuildContext: Example 3

build-context-14

BloC 6.1.0 Updates: Old way with MultiBlocBuilder

bloc-update-1

BloC 6.1.0 Updates: context.watch substitute for MultiBlocBuilder

bloc-update-2

BloC 6.1.0 Updates: How use context.watch

bloc-update-3

BloC 6.1.0 Updates: context.select substitute for BlocBuilder for simples cases with one condicion

bloc-update-4

BloC 6.1.0 Updates: How use context.select

bloc-update-5

BloC 6.1.0 Updates: context.bloc substitute for context.read!

bloc-update-6

BloC 6.1.0 Updates: Why and What is context.read

bloc-update-7

BloC 6.1.0 Updates: context.read in a Inefficient and Efficient way

bloc-update-8

BloC 6.1.0 Updates: Rebuild methods

bloc-update-9

Never mutate a existing state

never-mutate

BloC won't consecutively emit 2 identical states

bloc-identical-states

Attention about Equatable

attention-equatable

What is Hydrated BloC?

hydrated-bloc-1

Hydrated BloC: How works

hydrated-bloc-2

Hydrated BloC: from/to json flow

hydrated-bloc-3

Hydrated BloC: it's not slow

hydrated-bloc-4 hydrated-bloc-5

BloC & Cubit: Debug methods

bloc-cubit-debug-1

BloC & Cubit: Driven

bloc-cubit-driven

BloC & Cubit: Debug method - onChange

bloc-cubit-debug-2

BloC & Cubit: Debug methods - onEvent/onChange/onTransition 1

bloc-cubit-debug-3

BloC & Cubit: Debug methods - onEvent/onChange/onTransition 2

bloc-cubit-debug-4

BloC & Cubit: Debug methods - BlocObserver

bloc-cubit-debug-5

BloC & Cubit: FAQ 1

bloc-cubit-faq-1

BloC & Cubit: FAQ 2

bloc-cubit-faq-2

BloC & Cubit: FAQ 3

bloc-cubit-faq-3

BloC & Cubit: Naming Recommendations 0

bloc-cubit-naming-rec-0

BloC & Cubit: Naming Recommendations 1

bloc-cubit-naming-rec-1

BloC & Cubit: Naming Recommendations 2

bloc-cubit-naming-rec-2

BloC & Cubit: Naming Recommendations 3

bloc-cubit-naming-rec-3

Tech Stack πŸ‘©πŸΎβ€πŸ’»

Plugins πŸ“Ÿ

About

🧊 Learn how to use BloC and Cubit from Zero (0️⃣) to Hero (πŸ¦ΈπŸΎβ€β™€οΈπŸ¦ΈπŸΎβ€β™‚οΈ) πŸš€ !!!

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published