Flutter State Management - The Grand Tour

Поділитися
Вставка
  • Опубліковано 10 гру 2024

КОМЕНТАРІ • 346

  • @hasansalim1868
    @hasansalim1868 3 роки тому +278

    After two years, this very important video starts getting old. With libraries being updated may be it is time for Fireship to revisit this topic. Thanks for your hardwork. A very nice channel indeed.

  • @friebetill
    @friebetill 5 років тому +203

    1. StatefulWidget 1:25
    2. StatefulBuilder 2:43
    3. InheritedWidget 4:16
    4. RxDart + BehaviorSubject 6:12
    5. BLoC 8:50
    6. Redux 11:34
    7. Mobx 11:57
    8. Scoped Model 12:27
    9. Flutter Hooks 12:58
    10. Firebase 13:22

    • @sadhlife
      @sadhlife 4 роки тому +11

      Should've mentioned Provider. it's simple and solid, and much like the scoped_model library but much more popular

    • @friebetill
      @friebetill 4 роки тому +8

      @@sadhlife Yes, I agree, although at the time the video was released, Provider was introduced by the Flutter Team at the Google IO 2019. ua-cam.com/video/d_m5csmrf7I/v-deo.html
      Therefore one cannot blame Fireship for not presenting providers then. However, by now Provider should be mentioned via an overlay, because Provider is the standard way to manage the state in Flutter.

    • @sadhlife
      @sadhlife 4 роки тому

      @@friebetill i see, didn't know, and yeah!

    • @mehraanakbarii
      @mehraanakbarii 3 роки тому

      Should we know all of them?

    • @friebetill
      @friebetill 3 роки тому +1

      @@mehraanakbarii Definitely not, start with a simple one e.g. provider and then you can still upgrade to more powerful systems if necessary.

  • @sadabwasim9850
    @sadabwasim9850 5 років тому +169

    Fireship is becoming one of the best tech channel, It's content are simply amazing.

    • @Fireship
      @Fireship  5 років тому +6

      Thank you Sadab!

    • @johanemerson307
      @johanemerson307 3 роки тому

      sorry to be so off topic but does any of you know a method to log back into an Instagram account??
      I somehow lost the login password. I appreciate any assistance you can give me

    • @londonsonny6112
      @londonsonny6112 3 роки тому

      @Johan Emerson instablaster ;)

    • @johanemerson307
      @johanemerson307 3 роки тому

      @London Sonny I really appreciate your reply. I found the site on google and I'm in the hacking process atm.
      Takes a while so I will reply here later when my account password hopefully is recovered.

    • @johanemerson307
      @johanemerson307 3 роки тому

      @London Sonny It did the trick and I finally got access to my account again. I am so happy:D
      Thank you so much, you saved my ass!

  • @rubensdemelo
    @rubensdemelo 5 років тому +89

    Best video about state management with flutter. Congratulations !!🎊

  • @AndreaGiacon
    @AndreaGiacon 5 років тому +45

    Finally: a clear explanation of states management.
    Thank you

  • @Fanaro
    @Fanaro 4 роки тому +1

    Thank you for stating that the web benchmarked way of handling state, i.e. rx with basic streams, is your favorite way. It gives me confidence that I can handle Flutter state management with what other fields already use and don't have to reinvent the wheel over again.
    And stating that Firebase is already a huge solution for 99% of state management is also very important, and something most purists frown upon.

  • @mmsergi
    @mmsergi 5 років тому +82

    What about Provider approach? Is the one that Im using, what's your opinion about it?

    • @MrHimanshun
      @MrHimanshun 3 роки тому +1

      @Ruwen Höltge I am very new other SM , could please tell me what is a service locator??

    • @TimothyNazar
      @TimothyNazar 3 роки тому +3

      @@MrHimanshun The service locator pattern is a design pattern used in software development to encapsulate the processes involved in obtaining a service with a strong abstraction layer. This pattern uses a central registry [that's what you typically see in main.dart file in a form of MultiProvider([service1, service2])] known as the "service locator", which on request returns the information necessary to perform a certain task. en.wikipedia.org/wiki/Service_locator_pattern

    • @bobthebuilder6715
      @bobthebuilder6715 3 роки тому +1

      @Ruwen Höltge I wish I read your comment 1 year ago

    • @SeriesTube01
      @SeriesTube01 3 роки тому +1

      I use Provider too. 👍

    • @SeriesTube01
      @SeriesTube01 3 роки тому +2

      @Ruwen Höltge We know what it is. He is asking why wasn't even mentioned in the video since it is, by far, the most used library for state managemente in Flutter. I'm surprised about that too.

  • @nagas_dev
    @nagas_dev 5 років тому +2

    One of the best videos, demonstrating most of the ways for state management. You got my attention with firestore as a state management option and I really want to watch a video about it, explaining how can be used.

  • @MarkVolkmann
    @MarkVolkmann 2 роки тому +28

    For simplicity, consider using provider which has been recomended by the Flutter team for a while now.

  • @remoteportal
    @remoteportal 5 років тому

    You are the BEST!
    quick, to the point, not discussing your vacation to Florida and wasting everyone's time

  • @alithejumbo
    @alithejumbo 5 років тому +1

    Dude your way of teaching is the BEST I have ever seen. Fast, clean, simple and straight to the point. Why don't you make Udemy courses? If you do please tell me about them.

  • @VictorKun
    @VictorKun 5 років тому +16

    I'm amazed by the fact that you know so much, I keep wondering about the effort it took for you to reach there. :) Great video and work. Cliche...

  • @Quintusvw
    @Quintusvw 5 років тому +1

    A very useful overview of state management for developers on a time-constraint budget. Thanks for the introduction!

  • @yeakleang
    @yeakleang 3 роки тому

    Finally! I've trying to understand the state management in flutter for a few days. Thank you.

  • @JonWood
    @JonWood 5 років тому +3

    Never knew there were so many ways to handle state management. Thanks for explaining each of these techniques!

  • @MichaelRichins
    @MichaelRichins 5 років тому +1

    I for one am a huge fan of Behavior Subjects. Both in Angular and now in my new love of Flutter.

    • @Fireship
      @Fireship  5 років тому

      BehaviorSubjects FTW!

  • @RobertBrunhage
    @RobertBrunhage 5 років тому +16

    Wasn't aware of the get_it package, will definitely check it out. Great video!
    Wished I had this video when I started haha

    • @happynewyearw
      @happynewyearw 5 років тому +3

      Check out this blog about get_it + rxdart/rxcommand: www.burkharts.net/apps/blog/rxvms-foundations-rxcommand-and-getit/
      Looking forward for more awesome videos of practicle demonstration base on these tools from you too! Great job, Thanks!

  • @juliancorredor1128
    @juliancorredor1128 5 років тому +4

    I think state management makes easier the development of reactive uis, it helps a lot with dealing things like setState or manually re rendering the hole or widget when you may only need to render a specific small portion of it. On the other hand, helps sharing information across a wide component or widget tree which is a huge advantage

    • @Fireship
      @Fireship  5 років тому +2

      Sharing data easily has always been a big one for me, makes prototyping way faster imo.

  • @merthyr1831
    @merthyr1831 2 роки тому +17

    Great video, but a 2022 version would be awesome! Almost everything after the starter app/stateful widget are mostly unused now :)

  • @CaiCruz
    @CaiCruz 5 років тому +1

    State management is a fairly new subject for me, but from first impressions of using redux in angular, I'd say is very complicated to try to mitigate issues that could be solve in different and simpler ways. Thanks for the video. Your channel has some great info! :)

  • @blank-vw2sb
    @blank-vw2sb 5 років тому +8

    Fireship is sailing in flutter!
    it's Awesome

  • @NatiTessema
    @NatiTessema 5 років тому +4

    Glad I found this video before starting. You da man

  • @TheRedDaren
    @TheRedDaren 5 років тому +2

    Just when I got into Flutter. Perfect timing.

  • @lvl4ul2i
    @lvl4ul2i 5 років тому +1

    I love your channel you are very concise and you talk about what really matters

  • @faaf42
    @faaf42 4 роки тому +2

    In case you wonder syntax "stream$" at 7:13 it's medium.com/@benlesh/observables-and-finnish-notation-df8356ed1c9b (observable - convention for naming it)

  • @emmanuelogbewe2334
    @emmanuelogbewe2334 5 років тому

    Man I’ve been waiting for this. Has to be one of the best vids on state management. Thank you!!

  • @TheBadFred
    @TheBadFred 5 років тому

    Very good for an overview of state management in flutter. Flutter hooks and scoped model was new to me. It is good to have the choice.

  • @Carlos_Carrascosa
    @Carlos_Carrascosa 3 роки тому +3

    I just came across this video, it explains the fundamentals really good. I've ended up using riverpod after doing my research, but it is not mentioned in this video, maybe you could do a new one!! Great channel

  • @darshangowda309
    @darshangowda309 5 років тому

    Thanks for making a list of every solution at one place! BehaviourSubject & RxDart looks super neat and pretty much solves every problem :P

    • @Fireship
      @Fireship  5 років тому +1

      BehaviorSubjects are amazing :)

  • @madhankumar5231
    @madhankumar5231 5 років тому

    Clarified my doubts about the state management in Flutter. Thanks a lot.

  • @milindgour2526
    @milindgour2526 4 роки тому

    I am lucky to find this channel ...😅😅👌👌👍👍 , really good content , I was Soo confused before , but this videos are really helpful , please keep uploading

  • @kamranbashir4842
    @kamranbashir4842 4 роки тому +9

    01:57 I can't stop myself to press ctrl+s to remove that round ball with main.dat indicating that file is not saved.

  • @mrbbot
    @mrbbot 5 років тому

    Wow! Great video, nice to have all the different methods concisely explained in one place.

  • @nikhi1
    @nikhi1 5 років тому

    Behave responsibly with the state!! Awesome intro to all the patterns for flutter. 😀😀

  • @FredvanRijswijk
    @FredvanRijswijk 5 років тому +63

    Now I feel stupid ;-)

    • @Fireship
      @Fireship  5 років тому +29

      This video took a lot of effort and testing, state management is hard.

    • @kirill4531
      @kirill4531 5 років тому +7

      I'm glad I'm not the only one here))

    • @osamabadr9458
      @osamabadr9458 4 роки тому +6

      Same feeling here 😭

    • @UlyssesAlexandreAlves
      @UlyssesAlexandreAlves 4 роки тому +3

      I'm totally with you there, bro.

    • @SeriesTube01
      @SeriesTube01 3 роки тому +1

      I remember like a year ago I bought this web development course and the Redux and Hooks sections were explained for like a 5 year old. Still I didn't understand jack shit. 🤦‍♂

  • @beratsulimani9823
    @beratsulimani9823 5 років тому

    State managemet is a data workflow of your application. Love this T-shirt

  • @stevenzhang7582
    @stevenzhang7582 5 років тому +1

    I'm confused by state by I think I'm getting the hang of things!! Thanks for the tutorial and love that flutter t shirt!

  • @xtraszone
    @xtraszone 2 роки тому +1

    // ! RxDart Cheatsheet
    // Step 1: Create global variable
    BehaviorSubject counter = BehaviorSubject.seeded(0);
    // Step 2: Access variable inside StreamBuilder
    StreamBuilder(
    stream: counter.stream,
    builder: (context, snapshot) {
    return Text('Count: ${snapshot.data}');
    },
    )
    // Step 3: Modify the variable
    counter.add(counter.value + 1);
    // Step 4 (Optional): Close the stream when not required
    @override
    void dispose() {
    counter.close()
    }

    • @akshattamrakar9071
      @akshattamrakar9071 2 роки тому

      Yes, that's pretty much correct... Easy and straight forward..

  • @DanielTubul
    @DanielTubul 3 роки тому

    such a long video but passed so fast = A really good one!!!
    thanks for that

  • @RagoDN2
    @RagoDN2 5 років тому

    There are so many choices! The best choice for the apps I work on is probably gonna be "scoped_model" because it's lightweight and single-purpose. That said, I'm not opposed to giving Redux or MobX a try.

    • @happynewyearw
      @happynewyearw 5 років тому

      Try rx and stream, it's super powerful and reactive programming apply to most programming language!

  • @andreujuanc
    @andreujuanc 5 років тому

    Just getting started with flutter. This helps a lot to clarify issues. Thanks!

  • @lokeshar6649
    @lokeshar6649 5 років тому +1

    Simply superb... Almost you covered everything.

  • @narcodico
    @narcodico 5 років тому +2

    BLoC/flutter_bloc is the way to go for local state and Redux/RxDart way, for global state. The rest is just for basic state management when you don't expect your app to grow. I didn't know about the flutter hooks package, but looks really interesting.

    • @Fireship
      @Fireship  5 років тому

      I would agree with you here, it's nice to to have the flexibility of both.

    • @Dorumin
      @Dorumin 5 років тому

      I've personally found redux awkward to implement, and stream-based solutions wasteful (I know that dart is optimized to build lots of immutable objects and dispose of them quickly with its GC, but I've never trusted it too much :P)
      I like the simplicity of scoped_model because you don't have to implement whether the widget should update when you consume it, and you can still have a singleton with other models so you can do stuff like serialization and persisting the data. I'm not saying that it's the solution for everyone though, persistent storage is just a weird requirement I have

    • @Fireship
      @Fireship  5 років тому

      @@Dorumin Scoped model is really awesome, that's probably why its in the official docs now. Personally, I like my streams because they can controlled and monitored in predictable ways, and just feel right with realtime data sources like firebase.

    • @narcodico
      @narcodico 5 років тому

      @@Fireship Yes, often enough, it's recommended to use a combination of available state management solutions based on your needs. There will never be one fits all case.

    • @narcodico
      @narcodico 5 років тому

      @@Dorumin Stream-based libraries and reactive programming are the best thing that ever happened in software development. You are severely underrating the true power of Rx and co. Completely changed the game for how apps are architectured and built.

  • @xtraszone
    @xtraszone 3 роки тому

    I have created these packages:
    1. super_easy_in_app_purchase
    2. super_easy_permissions
    These will make your life a lot easier :-)

  • @abhishekdewadiga1113
    @abhishekdewadiga1113 5 років тому

    Nicely done!!! All the possible state management approaches for a flutter app. 👍

  • @maxwellnderitu
    @maxwellnderitu 3 роки тому

    Great content as usual. Still relevant in 2021 👍

  • @kishansampat4632
    @kishansampat4632 4 роки тому

    By the way thank you for your videos I went to your website and started learning too It helped us a lot in building our first app deliverable within weeks

  • @idemchenko-js
    @idemchenko-js 3 роки тому

    The Elm Architecture is the godfather of redux and bloc and similar. I personally can distinguish two overarching ideas for state management: state-action-view or FRP. Web devs went through this, now it's flutter's time. However, Elm also used to use FRP but moved on as it didn't scale.

    • @akshattamrakar9071
      @akshattamrakar9071 2 роки тому

      I liked elm but no company I worked at and no developer I know is using elm.

    • @idemchenko-js
      @idemchenko-js 2 роки тому

      @@akshattamrakar9071 regardless of that, the elm architecture has made a massive impact on the industry.

  • @dhiyaaulauliyaa3988
    @dhiyaaulauliyaa3988 5 років тому

    Good video! This video uploaded at just right time for me when struggling to understand flutter. Flutter hook looks promising for me btw. Love the flutter t-shirt 😄

  • @danielsolomon6227
    @danielsolomon6227 6 місяців тому

    I think it's time to revisit this topic because I waiting to learn about Provider and Riverpod.

  • @hasanimam82
    @hasanimam82 4 роки тому +4

    Great video, almost covered everything about state management, Thanks!
    My thoughts:
    - I've never heard about StateBuilder and that it can be used with StatelessWidget, which can really be helpful sometimes.
    - i didn't know that we should use SetState function inside the Inherited Widget, is that necessary?
    - you probably didn't mention the Provider and ChangeNotifier classes because they came after this video, but they're quite an extension for ScopeModel class.
    - My favourite approaches for state management are: Provider, Bloc and get_it, or maybe a mix between two of them.

    • @benjieming7232
      @benjieming7232 3 роки тому +1

      The provider is maybe the best solution for state management for me.

  • @happynewyearw
    @happynewyearw 5 років тому +3

    Thx for the great videos as always! Hope to get more videos on RxDart + RxCommand + GetIt + Firebase (simple tut or some example app using these packages will be awesome!), this set of packages is the best state management techniques in Flutter based on what I've read and understand, if I'm wrong please tell me, I'm pretty new to all of these, so I would like to learn more!
    btw, really thanks to Frank Pepermans, Brian Egan and Thomas Burkhart , these Flutter/Dart packages really makes me exited and joyful to build app in Flutter!

    • @Fireship
      @Fireship  5 років тому +1

      Very thankful for their contributions! Have not used RxCommand yet, but looks interesting :)

    • @happynewyearw
      @happynewyearw 5 років тому +1

      @@Fireship Cool! definitely take a look if you can, check out the author's article here: www.burkharts.net/apps/blog/rxvms-foundations-rxcommand-and-getit/
      I've been looking for more videos or article about RxDart + GetIt + Firebase, but no luck for now, look forward to see more people start to use and showcase these combination of packages!

  • @alexandrsmith6909
    @alexandrsmith6909 5 років тому +1

    Thanks for one more amazingly useful video during my learning stage 👍🏻 keep it up 🖐🏻

  • @VivekMore1
    @VivekMore1 5 років тому

    I love your small and succinct videos

  • @veda_dom
    @veda_dom 5 років тому

    Thank for this video, you helped to realize the others. Thanks for fireship too.

  • @oztech
    @oztech 5 років тому +6

    Fantastic. But wait... so what is the best way? I used redux with flutter. Should i go with BLOC instead?

    • @Fireship
      @Fireship  5 років тому +5

      There is no best way! Do feels right in your heart ❤️

    • @oztech
      @oztech 5 років тому

      @@Fireship anyways thanks for the great video. Ive learned a lot since your ng related videos. Im also from ionic background completely switched to Flutter and so happy with it.

    • @amsakanna
      @amsakanna 5 років тому

      Redux is great IMO. Take a look at redux epics too.

    • @oztech
      @oztech 5 років тому +2

      @@amsakanna i use Redux for many projects. Yeah its great but it requires too much coding.

    • @oztech
      @oztech 5 років тому

      @@Fireship i tried BloC pattern and now loving it!

  • @huzefatunkiwala5414
    @huzefatunkiwala5414 5 років тому

    very good information, very helpful , even i don't know 10 state management things , i learn lot

  • @willysvarela1254
    @willysvarela1254 5 років тому +1

    Awesome video

  • @MCorpJC
    @MCorpJC 4 роки тому +5

    Provider is missing in the list 🙂 good video

  • @lucavenir5308
    @lucavenir5308 3 роки тому

    I guess this video is just outdated, but as a Flutter Developer I mainly use Providers, which are (imo) the best Inherited Widget wrapper, less error prone, in which you can decide if you actually want to listen to changes or no. Another Widget I use a lot and I didn't see in this video is the Consumer Widget. That's just too easy to use and I highly recommend it (but it listens to changes by default).

  • @StevenTse
    @StevenTse 5 років тому +17

    thx for the vid, how about Provider?

    • @sadhlife
      @sadhlife 4 роки тому

      scoped_model looked exactly like it, but I think provider is made by the flutter team itself

    • @maexlep89
      @maexlep89 4 роки тому +1

      I agree that the model part looks very similar and I still have some questionmarks about pros and cons of both.
      A great and simple Provider-showcasing/template can be found in the video 'Flutter Provider Architecture for State Management' from filledStacks.
      Would be great if fireship could talk >a bit more< about when he would personally use either of these solutions.

    • @sadhlife
      @sadhlife 4 роки тому +3

      @@maexlep89 Provider is now the preferred method, snd was suggested by google devs in IO 19, a few weeks after this video went live
      flutter_bloc is also gaining popularity
      stuff like rxjs is too complicated to justify usage in many apps when provider can do it just fine, and get_it is better for much simpler apps.

  • @rnvdrs
    @rnvdrs 5 років тому +1

    I see BloC makes a lot of sense for flutter

  • @andrewgoeden103
    @andrewgoeden103 5 років тому

    I am a personal fan of Firebase because of its adaptability and the ease of integrations. It is definitely a little buggy since I last used Firestore in Flutter (February 2019) but a great POC item.

  • @dharmang
    @dharmang 4 роки тому

    Wow i only knew the 1st one. But dang loved the RxDart method!! 💖

  • @leonardoventocilla3275
    @leonardoventocilla3275 5 років тому

    Awesome video and explanations!! This is the best I´ve seened about this topic hard topic.
    My option is with RxDart. Great flexibility. The video made it clear for me because I thought that RxDart and Bloc was the same thing.
    I didn't know about the flutter hooks, I´m going to find out about it.

  • @politicallynotcorrect2968
    @politicallynotcorrect2968 4 роки тому

    I think something like vuex is very simple to understand and still very powerful

  • @emericgnonhoue7029
    @emericgnonhoue7029 5 років тому +1

    Great content. I think I'll go with BLoC

    • @Fireship
      @Fireship  5 років тому +2

      Not a bad choice :)

  • @aviad4
    @aviad4 5 років тому

    Like your videos, short and informative.

  • @deriegle
    @deriegle 5 років тому +2

    Thanks a lot for the video. I loved the explanation. I think I want to try out the Bloc pattern. I use redux in my current react native project, but honestly I try to avoid putting anything in redux if possible, because of the boilerplate. I definitely like the look of Bloc pattern in Flutter and the T-shirt! Hope I win it. Thanks for the awesome video.

  • @Fullstackdesign
    @Fullstackdesign 5 років тому +3

    Good job on the video, I know how much time and effort it takes to make these videos. As for state management for a prototype, would you recommend using BLOC?

    • @Fireship
      @Fireship  5 років тому

      Thank you, this video was extra challenging. Bloc might be more than you need for a prototype, scoped model or a simple stream might be easier.

  • @soulninjadev
    @soulninjadev 3 роки тому

    my god! I was searching for this yesterday 😭

  • @jeisy8153
    @jeisy8153 4 роки тому

    Nice video, I also got into push recently... Still experimenting with networks but so far MonadPlug is the best...

  • @tesla1772
    @tesla1772 4 роки тому +17

    shit i was passing values to each and every constructor ... : )

    • @boismd
      @boismd 4 роки тому +1

      aw shit we are in the same boat

  • @pikachucod
    @pikachucod 5 років тому

    Fantastic video about state management

  • @lutaseb
    @lutaseb 5 років тому

    Only used NgRx and it believe there s a lot of boilerplate especially with the effects. Plus the state tends to grow in size as you use the app

  • @junhuh8940
    @junhuh8940 4 роки тому

    Good compact well explained about alternatives available for flutter state.

  • @mohamedzakria2975
    @mohamedzakria2975 5 років тому

    WOW, super simple, great compression

  • @laxmikantswain2568
    @laxmikantswain2568 4 роки тому

    Awesome content about State management!!!

  • @kaushalyaroshan
    @kaushalyaroshan 4 роки тому

    Great content with nice animations🤩🤩

  • @pardipbhatti9943
    @pardipbhatti9943 5 років тому

    Thanks for the video. I just got pro membership at your site.

  • @amugofjava
    @amugofjava 5 років тому +4

    Great video - thanks! My favourite at the moment is RxDart with StreamBuilder on StatelessWidgets. What I'm not sure about is how I call dispose to tidy up when the StatelessWidget is disposed. At about 8:20 you mention that StreamBuilder will automatically close any streams when the widget is disposed. Does this mean I do not need to worry about doing this myself?

    • @sadhlife
      @sadhlife 4 роки тому

      yes it is handled automatically by the StreamBuilder class

  • @Mar_Ten
    @Mar_Ten 2 роки тому

    The fact that providers are not even mentioned here scares me a bit.
    This video definitely needs an update.

  • @anashashim
    @anashashim 5 років тому

    Awesome explanation 🔥😍👍

  • @Pyroo0
    @Pyroo0 5 років тому +3

    I've only used Redux as a state manager in React. It was very hard to get a grip on it at the beginning cause I didn't really know what it was used for.
    Now I like to explain it as a global variable that holds key values that you can use anywhere in the app.
    I still find Redux to be a bit verbose to do simple things though.

    • @Fireship
      @Fireship  5 років тому

      It is low-level and requires a lot of configuration. That's why I prefer the BehaviorSubject approach, or scoped model is a good option.

  • @TurtleWargaming
    @TurtleWargaming 5 років тому

    What state management strategy would you recommend for the scenario described at 4:12? I'm currently stuck on a project trying to figure out a good solution. The siblings are a list of users, and when tapping one of the users in that widget, it should somehow give that user object to its sibling "form" widget, to prepopulate and edit.

  • @itsmeaayush
    @itsmeaayush 5 років тому

    Love your Flutter Tutorial.

  • @pramodrocks3904
    @pramodrocks3904 5 років тому

    That t-shirt rocks , anything for the t-shirt

  • @bascelik91
    @bascelik91 4 роки тому

    I really like Bloc state management, compared to Redux, you can create as much bloc objects as you want and you can get fine grain control in the app. Also, Mobx is pretty funny state management library, it reduce boilerplate code in the app and it is easy to maintain the code. These two libs I used in several projects and they are pretty reliable and easy to use.

  • @jasonsebring3983
    @jasonsebring3983 3 роки тому

    The simpler singleton stream approach is exactly what I was looking for. To hell with complexity.

  • @BiniamAsnake
    @BiniamAsnake 4 роки тому +4

    Thanks for the best summary with code samples. The flutter doc now gives an example using Provider package. Do you recommend using that instead of BLOC or RxDart? flutter.dev/docs/development/data-and-backend/state-mgmt/simple

  • @siddhantkumar7036
    @siddhantkumar7036 5 років тому +2

    Ha! State management ..... Hard to learn but this video helped!

    • @Fireship
      @Fireship  5 років тому +1

      Sometimes it's only hard if you make it hard, focus on keeping it simple :)

  • @veda_dom
    @veda_dom 5 років тому

    I have been using flutter_flux, it is simple and understandable.

  • @AvinashSingh-nq5ud
    @AvinashSingh-nq5ud 5 років тому +2

    Which state management you prefer for a beginner or intermediate flutter developers??

    • @Fireship
      @Fireship  5 років тому

      Scoped Model or the BehaviorSubject approach I showed in the video.

    • @AvinashSingh-nq5ud
      @AvinashSingh-nq5ud 5 років тому

      Thanks

  • @jamesr2408
    @jamesr2408 3 роки тому +1

    @7:12, What is stream$ ? Just another function name? Why use the $ sign?

    • @akshattamrakar9071
      @akshattamrakar9071 2 роки тому

      It's a industrial standard practice to use $ after nave of stream. Nothing special, it tells developers that this is reactive in nature.
      I never put $ because it looks wierd bu it's up to you.

  • @JFkingW
    @JFkingW 5 років тому +1

    Great Video! I would love to see a video on code sharing between Flutter and Web. As far as I know, its currently only possible with AngularDart. Have you had experience with this framework? I can't wait for humingbird...

    • @Fireship
      @Fireship  5 років тому +1

      I have not explored this yet, but I've seen some pretty impressive code sharing using the bloc pattern between web/flutter.

    • @Felangelov
      @Felangelov 5 років тому

      Check out medium.com/flutter-community/code-sharing-with-bloc-b867302c18ef for one way to do it

  • @emmanuelogbewe2334
    @emmanuelogbewe2334 5 років тому

    Great video!! When we have multiple classes like Counter and we are using GetIt do we call registerSingleton for all of them ?

  • @DevKhalilKhalil
    @DevKhalilKhalil 5 років тому

    Thank you very much for this nice created video, it was really helpful.

  • @raghav.bhardwaj
    @raghav.bhardwaj 4 роки тому

    Thank you for his Video. What is your opinion on Flutter provider package?

  • @fille.imgnry
    @fille.imgnry 5 років тому

    IMHO the built in StreamController is a very solid choice. Not sure why it was left out in this video.

    • @Fireship
      @Fireship  5 років тому

      BehaviorSubject is the Rx equivalent to a StreamController, I probably should have mentioned that :)

  • @VincentTornude
    @VincentTornude 5 років тому +4

    Is it weird I like even before the video plays?