Bloc Library: Basics & Beyond - Felix Angelov | Flutter Europe

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ส.ค. 2024

ความคิดเห็น • 89

  • @notmtp566
    @notmtp566 ปีที่แล้ว +2

    For those who learning Bloc this is the only video you need !!!

  • @filipsavic2165
    @filipsavic2165 4 ปีที่แล้ว +60

    Thank you (all) so much for an amazing library and a matching talk! It is both a good overview and a good learning material!
    Here are the timestamps:
    00:00 - Intro & About
    01:34 - Goals for the library
    02:41 - BLoC overview
    03:20 - Counter Application example
    04:00 - Coding (starting from dependencies)
    06:22 - Bloc in Action
    07:50 - Async
    10:40 - Testing
    12:47 - Testing (One more time)
    13:35 - Async Tests
    15:40 - flutter_bloc package
    16:10 - coding
    16:55 - Bloc Provider
    18:20 - dispose()
    19:15 - Multiple Blocs
    20:05 - Bloc Builder
    21:57 - Async Bloc Builder
    23:42 - Overview (diagram)
    24:25 - Side effects (SnackBars)
    26:10 - BlocConsumer (listener and builder)
    27:05 - predictability (bloc: onEvent)
    28:45 - bloc: onTransition (old state, event, new state)
    29:25 - bloc: onError
    30:52 - BlocDelegate
    32:40 - maintainability (VS Code & IntelliJ plugins for easier code generating)
    33:30 - documentation @ bloclibrary.dev
    35:10 - hydrated bloc (caches state after app is killed)
    35:37 - dependencies and coding
    39:20 - a nice guy saying a big thanks (i'm sure he's speaking for all of us)
    ....:.... - questions

    • @kshitijjain4852
      @kshitijjain4852 4 ปีที่แล้ว +5

      I love the people who make timestamps like these. Thanks!

    • @filipsavic2165
      @filipsavic2165 4 ปีที่แล้ว +2

      Thanks man! I'm happy to help :)

    • @1wisestein
      @1wisestein 3 ปีที่แล้ว +1

      There should be a special place in heaven for commenters who breakdown videos into timestamps like this.

    • @filipsavic2165
      @filipsavic2165 3 ปีที่แล้ว +2

      Hahaha :D
      Thank you! I hope someone up there loves timestamp comments too :D

    • @pritesh55s
      @pritesh55s 3 ปีที่แล้ว +1

      @@filipsavic2165 We love timestamp comments ......

  • @verryondrums
    @verryondrums 4 ปีที่แล้ว +28

    Really great talk! First time I don't have to watch a video with 1.5 or 2.0 times increased speed =D! Thanks for sharing

    • @hydernotes
      @hydernotes 4 ปีที่แล้ว

      because he is already speaking too fast?

    • @verryondrums
      @verryondrums 4 ปีที่แล้ว +4

      @@hydernotes speaking speed is perfect 👌

    • @zeorjvistr6245
      @zeorjvistr6245 3 ปีที่แล้ว

      True

    • @chrislamont7529
      @chrislamont7529 3 ปีที่แล้ว +1

      First time I've had to slow it down 😅

    • @verryondrums
      @verryondrums 3 ปีที่แล้ว

      @@hydernotes perfect speed =D

  • @mradityapatnaik
    @mradityapatnaik 4 ปีที่แล้ว +4

    In just 7.5 minutes this video manages to explain a complex concept like bloc!

  • @daanielacosta2395
    @daanielacosta2395 3 ปีที่แล้ว +17

    Yesterday i expend like 6 hours trying tu understand Bloc library, it would been easier if i saw this video before. Great explanation and great set of libraries! :D

    • @ekoprasetyo3999
      @ekoprasetyo3999 3 ปีที่แล้ว

      Yes, me too. Because he is the creator of bloc.

  • @thomasmabika7291
    @thomasmabika7291 4 ปีที่แล้ว +76

    oh snap, Felix Angelov?? Reso Coder is going to be so happy!

    • @ResoCoder
      @ResoCoder 4 ปีที่แล้ว +84

      I was at the conference lol 😂

    • @santoshtemp5834
      @santoshtemp5834 4 ปีที่แล้ว

      @@ResoCoder Really?

    • @aaklii
      @aaklii 4 ปีที่แล้ว

      @@santoshtemp5834 Marcin was a speaker: th-cam.com/video/FCyoHclCqc8/w-d-xo.html

    • @diogosequeira4873
      @diogosequeira4873 4 ปีที่แล้ว +4

      @@ResoCoder you need to be a speaker on the next one ahha

  • @aaklii
    @aaklii 4 ปีที่แล้ว +2

    Felix Angelov's Bloc Library + Marcin Szałek 's Complex UI = Magic

  • @Collins01
    @Collins01 2 ปีที่แล้ว +1

    Now I understand how the BLOC works, thanks .

  • @davidacevedo8891
    @davidacevedo8891 4 ปีที่แล้ว +8

    Not all heroes wear capes, thanks for making this library :)

  • @kiyotaka627
    @kiyotaka627 4 ปีที่แล้ว +10

    this package is amazing, if you are not using it I highly recommend it

  • @RishabhAgrawal804
    @RishabhAgrawal804 3 ปีที่แล้ว +1

    One of the best talk 👏

  • @rhodyborn
    @rhodyborn 3 ปีที่แล้ว +5

    Wow, really good talk. Understood exactly what was happening and applicable way in which the package could be used!

  • @Qizot
    @Qizot 4 ปีที่แล้ว +3

    Besides the talk about advanced UI/UX in flutter this is the second best so far

  • @theonlyarjun
    @theonlyarjun 4 ปีที่แล้ว +51

    he said all that in one breath

  • @PrinceDVII
    @PrinceDVII 4 ปีที่แล้ว +7

    Great presentation, straight to the point. Thanks Felix!

  • @aytunch
    @aytunch 4 ปีที่แล้ว +3

    It's crazy. I just asked for this video in another talk 10 mins ago:) Thanks Flutter Europe and Felix

  • @YaoBinThen
    @YaoBinThen 4 ปีที่แล้ว +5

    Great explanation, was skeptical with using bloc due to the complexity when I first learning it, and stuck with provider all this while, now I'm sold with bloc. Thanks!

    • @thomasmabika7291
      @thomasmabika7291 4 ปีที่แล้ว +1

      same here, are you going to switch tho? I'm 50% into my project, and I'm like...man, bloc isn't really as bad as I thought.

    • @YaoBinThen
      @YaoBinThen 4 ปีที่แล้ว

      @@thomasmabika7291 I'd definitely bring it into my projects whenever I need it

    • @YaoBinThen
      @YaoBinThen 4 ปีที่แล้ว +2

      Update: I’m on bloc! And cubit too! This is exciting

  • @krishnakumarramachandran5888
    @krishnakumarramachandran5888 4 ปีที่แล้ว +1

    Thanks Felix Bro, I like your Bloc Package. This is the first time i'm watching long video in TH-cam. Now i understand Bloc concepts. Thanks for the Great Talk and Great Package.💙

  • @stephenopokudamoah
    @stephenopokudamoah 3 ปีที่แล้ว +3

    Great presentation! I just fell in love with bloc and flutter_bloc!

  • @GodfatherOfKcontent
    @GodfatherOfKcontent 4 ปีที่แล้ว +2

    A gem 💎

  • @nivellemendiola5039
    @nivellemendiola5039 4 ปีที่แล้ว +1

    thank you so much for making bloc easy to work for us

  • @LexPrimost
    @LexPrimost 4 ปีที่แล้ว +1

    This guy ! a genius. thanks to you and the team behind the library

  • @kevinliu6002
    @kevinliu6002 4 ปีที่แล้ว +3

    Amazing library! I am going to start using bloc_test now. Hats off Felix!

  • @kozimjonkholmirzaev4701
    @kozimjonkholmirzaev4701 3 ปีที่แล้ว +2

    great job

  • @noname85808
    @noname85808 4 ปีที่แล้ว +2

    Great libraries, thanks Felix!

  • @theGoldyMan
    @theGoldyMan 4 ปีที่แล้ว +3

    that baby Yoda blink :) , great presentation.

  • @youssifgamal8545
    @youssifgamal8545 2 ปีที่แล้ว +1

    great video , great explanation , great presenter

  • @metix1365
    @metix1365 3 ปีที่แล้ว +1

    Amazing!!

  • @learningisgrowinglig
    @learningisgrowinglig 4 ปีที่แล้ว +2

    amazing presentation, liked it

  • @coolprashantmailbox
    @coolprashantmailbox 4 ปีที่แล้ว +2

    Thanks Felix

  • @GJJ2019
    @GJJ2019 3 ปีที่แล้ว +2

    best talk ever

  • @Rissmon1
    @Rissmon1 4 ปีที่แล้ว +1

    Super talk 😃😃

  • @DungNguyen-ex8rh
    @DungNguyen-ex8rh 3 ปีที่แล้ว +1

    very great content, an amazing package

  • @satyamdubey4529
    @satyamdubey4529 3 ปีที่แล้ว +3

    He is already in 1.5x speed mode

  • @danghaile5528
    @danghaile5528 4 ปีที่แล้ว +1

    This package is amazing !

  • @justinprakashraj6256
    @justinprakashraj6256 ปีที่แล้ว +1

    Bloc ❤️

  • @fluttermakers
    @fluttermakers 2 ปีที่แล้ว

    Please explain my practical on the favorite button. Thank you for your great efforts

  • @be_like__prateek
    @be_like__prateek 2 ปีที่แล้ว +1

    Knowledgable

  • @keanuhero303
    @keanuhero303 4 ปีที่แล้ว +10

    Missed opportunity to call TheChild as ChildThe.

  • @mderis
    @mderis 4 ปีที่แล้ว +1

    Thanks, enjoyed it,

  • @TheMr82k
    @TheMr82k 4 ปีที่แล้ว +2

    woah I just created a bloc pattern for myself and never noticed that this library had is doing almost everything exactly the same

    • @keanuhero303
      @keanuhero303 4 ปีที่แล้ว

      Purple Candy Same we’ve created our own BLoC pattern and I think it’s pretty great but this package could be a lot more useful

  • @xaxababa6616
    @xaxababa6616 4 ปีที่แล้ว +8

    When to use Equatable with Bloc? I see a lot of people using Equatable with Bloc and I am not sure what it does actually

    • @aaulia
      @aaulia 4 ปีที่แล้ว

      Equatable is basically a poor man data class. It override Type's equality operation so that instead of comparing the instance reference, it compares the content instead. So two separate instance of the same Type is equal if both have the same content/data.
      It's okay-ish, and it works, and less hassle to setup. But personally, coming from Kotlin, I'd rather use something like built_value or freezed.

  • @lukasz.debowski1
    @lukasz.debowski1 3 ปีที่แล้ว +4

    Great talk :) One question comes to my mind: isn't using BlocListener kind of breaking the rule of decoupling the UI from business logic? If we want to do some side action in response to state change, doing so in a UI code (such as the BlocListener widget used in the build method of some StatelessWidgget) is meh.
    Wouldn't doing those kind of actions fit better inside the bloc itself so that we can test that easly and truly separate UI from business logic? (such as showing a snackbar and what not, that is business logic imo)

  • @lucifer6099
    @lucifer6099 4 ปีที่แล้ว +3

    Amazing content! I am a bigger fan of bloc and Flutter in general after this xD
    PS- Am I the only one to notice that hydrated_bloc example started incrementing with 0 ( 37:55 ) and not with the state it maintained ( 3 in this example) ?

    • @Felangelov
      @Felangelov 4 ปีที่แล้ว +8

      Aayush Malhotra that’s just because the gif is playing on a loop haha. You’ll notice it starts back up at 3 and then goes to 0.

    • @lucifer6099
      @lucifer6099 4 ปีที่แล้ว +2

      @@Felangelov ohhh ok. Haha it almost got me. Really excited to see what's next from you guys.

  • @majdkazmoz4434
    @majdkazmoz4434 4 ปีที่แล้ว +1

    This man amazing

  • @vinceramcesoliveros6739
    @vinceramcesoliveros6739 4 ปีที่แล้ว +4

    Bloc isn't that hard nor is it verbose for a large app...
    If you've learned Provider, you're comfortable using Bloc by Felix for larger applications.
    Having a counter app tutorial doesn't leverage the full features of Bloc itself. Having too complex tutorial like Todos fits for the job, but beginners will have a hard time following it due to huge chunks of code to be followed.
    Just to take note. State Management solves particular usecase. Bloc + Provider + Abstraction for me is the best combination.

  • @itsLarryAlright
    @itsLarryAlright 4 ปีที่แล้ว

    Wow nice presentation straight to the point. Now if we can have live sessions or maybe a channel that could show how you build complex apps with multiple pages.
    I will be happy to check other peoples channel too if you have any.

  • @khalidmahmud8664
    @khalidmahmud8664 3 ปีที่แล้ว +1

    really helpful....

  • @elsaiedsamaka7373
    @elsaiedsamaka7373 4 ปีที่แล้ว +1

    felix,
    i love u

  • @azackmatoff2570
    @azackmatoff2570 3 ปีที่แล้ว +1

    The author of bloc, flutter_bloc

  • @kantulaev
    @kantulaev 4 ปีที่แล้ว +2

    39:30 simple voice 😁

  • @TomasAugust
    @TomasAugust 4 ปีที่แล้ว +1

    22:05 first code line - replace int with CounterState ?

    • @Felangelov
      @Felangelov 4 ปีที่แล้ว +1

      Tomas August yup good catch!

  • @jazimabbas8168
    @jazimabbas8168 3 ปีที่แล้ว

    can anyone tell me about where i can found some useful resources of rxdart with flutter_bloc ??

  • @mallikarjunreddy5229
    @mallikarjunreddy5229 4 ปีที่แล้ว

    Hey @Felix, How can i create my own generator, as you implemented an extention for bloc to get boilerplate code with dart files even, state and bloc.dart files. I am very helpful on the solution which you guys provided. Thanks

  • @sunilk9760
    @sunilk9760 3 ปีที่แล้ว

    Provider works well

  • @prashanthongal1641
    @prashanthongal1641 4 ปีที่แล้ว

    Hi can you please share GitHub link for this ?

  • @elsaiedsamaka7373
    @elsaiedsamaka7373 4 ปีที่แล้ว

    hi, can any one provide the source code of these examples he talked about?

    • @Felangelov
      @Felangelov 4 ปีที่แล้ว +2

      The slides and source code can be found at github.com/felangel/bloc_library_basics_and_beyond 👍

  • @peter-ql7gi
    @peter-ql7gi 3 ปีที่แล้ว

    "very very good ventures"?

  • @rockypkr9348
    @rockypkr9348 2 ปีที่แล้ว

    doesnt it voilate closed and open principle?

  • @petroniobonavides3530
    @petroniobonavides3530 4 ปีที่แล้ว

    @Flutter Europe Hello, Bloc is cool but GetX is more efficent in my oppinion. GetX has State simple/reactive management(without codegen), route Management and Dependencies management 3-IN-1. This is a hidden and powerfull tool that nobody talks about. Some conten about would be great.

  • @itsLarryAlright
    @itsLarryAlright 4 ปีที่แล้ว

    Wow nice presentation straight to the point. Now if we can have live sessions or maybe a channel that could show how you build complex apps with multiple pages.
    I will be happy to check other peoples channel too if you have any.

  • @itsLarryAlright
    @itsLarryAlright 4 ปีที่แล้ว

    Wow nice presentation straight to the point. Now if we can have live sessions or maybe a channel that could show how you build complex apps with multiple pages.
    I will be happy to check other peoples channel too if you have any.