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.
@jackrdye Жыл бұрын
Yes update vid please :)
@arvidd Жыл бұрын
Sounds good to me 🙂
@umairahmed522 Жыл бұрын
@kairos_moments10 ай бұрын
yess, update please
@FelipeCampelo07 ай бұрын
Up
@sadabwasim98505 жыл бұрын
Fireship is becoming one of the best tech channel, It's content are simply amazing.
@Fireship5 жыл бұрын
Thank you Sadab!
@johanemerson3073 жыл бұрын
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
@londonsonny61123 жыл бұрын
@Johan Emerson instablaster ;)
@johanemerson3073 жыл бұрын
@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.
@johanemerson3073 жыл бұрын
@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!
Should've mentioned Provider. it's simple and solid, and much like the scoped_model library but much more popular
@friebetill4 жыл бұрын
@@sadhlife Yes, I agree, although at the time the video was released, Provider was introduced by the Flutter Team at the Google IO 2019. kzbin.info/www/bejne/mpDQZpapoteZbas 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.
@sadhlife4 жыл бұрын
@@friebetill i see, didn't know, and yeah!
@mehraanakbarii3 жыл бұрын
Should we know all of them?
@friebetill3 жыл бұрын
@@mehraanakbarii Definitely not, start with a simple one e.g. provider and then you can still upgrade to more powerful systems if necessary.
@rubensdemelo5 жыл бұрын
Best video about state management with flutter. Congratulations !!🎊
@AndreaGiacon5 жыл бұрын
Finally: a clear explanation of states management. Thank you
@Fanaro4 жыл бұрын
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.
@MarkVolkmann2 жыл бұрын
For simplicity, consider using provider which has been recomended by the Flutter team for a while now.
@merthyr1831 Жыл бұрын
Great video, but a 2022 version would be awesome! Almost everything after the starter app/stateful widget are mostly unused now :)
@alithejumbo5 жыл бұрын
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.
@VictorKun5 жыл бұрын
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...
@MichaelRichins5 жыл бұрын
I for one am a huge fan of Behavior Subjects. Both in Angular and now in my new love of Flutter.
@Fireship5 жыл бұрын
BehaviorSubjects FTW!
@mmsergi5 жыл бұрын
What about Provider approach? Is the one that Im using, what's your opinion about it?
@MrHimanshun3 жыл бұрын
@Ruwen Höltge I am very new other SM , could please tell me what is a service locator??
@TimothyNazar3 жыл бұрын
@@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
@bobthebuilder67153 жыл бұрын
@Ruwen Höltge I wish I read your comment 1 year ago
@SeriesTube013 жыл бұрын
I use Provider too. 👍
@SeriesTube013 жыл бұрын
@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.
@remoteportal4 жыл бұрын
You are the BEST! quick, to the point, not discussing your vacation to Florida and wasting everyone's time
@RobertBrunhage5 жыл бұрын
Wasn't aware of the get_it package, will definitely check it out. Great video! Wished I had this video when I started haha
@happynewyearw5 жыл бұрын
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!
@nagas_dev5 жыл бұрын
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.
@faaf424 жыл бұрын
In case you wonder syntax "stream$" at 7:13 it's medium.com/@benlesh/observables-and-finnish-notation-df8356ed1c9b (observable - convention for naming it)
@JonWood5 жыл бұрын
Never knew there were so many ways to handle state management. Thanks for explaining each of these techniques!
@juliancorredor11285 жыл бұрын
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
@Fireship5 жыл бұрын
Sharing data easily has always been a big one for me, makes prototyping way faster imo.
@Carlos_Carrascosa3 жыл бұрын
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
@blank-vw2sb5 жыл бұрын
Fireship is sailing in flutter! it's Awesome
@Quintusvw5 жыл бұрын
A very useful overview of state management for developers on a time-constraint budget. Thanks for the introduction!
@xtraszone2 жыл бұрын
// ! 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() }
@akshattamrakar90712 жыл бұрын
Yes, that's pretty much correct... Easy and straight forward..
@yeakleang3 жыл бұрын
Finally! I've trying to understand the state management in flutter for a few days. Thank you.
@CaiCruz5 жыл бұрын
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! :)
@danielsolomon62273 ай бұрын
I think it's time to revisit this topic because I waiting to learn about Provider and Riverpod.
@RagoDN25 жыл бұрын
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.
@happynewyearw5 жыл бұрын
Try rx and stream, it's super powerful and reactive programming apply to most programming language!
@NatiTessema5 жыл бұрын
Glad I found this video before starting. You da man
@narcodico5 жыл бұрын
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.
@Fireship5 жыл бұрын
I would agree with you here, it's nice to to have the flexibility of both.
@Dorumin5 жыл бұрын
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
@Fireship5 жыл бұрын
@@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.
@narcodico5 жыл бұрын
@@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.
@narcodico5 жыл бұрын
@@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.
@TheRedDaren5 жыл бұрын
Just when I got into Flutter. Perfect timing.
@FredvanRijswijk5 жыл бұрын
Now I feel stupid ;-)
@Fireship5 жыл бұрын
This video took a lot of effort and testing, state management is hard.
@kirill45315 жыл бұрын
I'm glad I'm not the only one here))
@osamabadr94584 жыл бұрын
Same feeling here 😭
@UlyssesAlexandreAlves4 жыл бұрын
I'm totally with you there, bro.
@SeriesTube013 жыл бұрын
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. 🤦♂
@lvl4ul2i5 жыл бұрын
I love your channel you are very concise and you talk about what really matters
@TheBadFred5 жыл бұрын
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.
@kamranbashir48424 жыл бұрын
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.
@hasanimam824 жыл бұрын
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.
@benjieming72323 жыл бұрын
The provider is maybe the best solution for state management for me.
@happynewyearw5 жыл бұрын
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!
@Fireship5 жыл бұрын
Very thankful for their contributions! Have not used RxCommand yet, but looks interesting :)
@happynewyearw5 жыл бұрын
@@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!
@lucavenir53083 жыл бұрын
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).
@politicallynotcorrect29684 жыл бұрын
I think something like vuex is very simple to understand and still very powerful
@stevenzhang75825 жыл бұрын
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!
@xtraszone3 жыл бұрын
I have created these packages: 1. super_easy_in_app_purchase 2. super_easy_permissions These will make your life a lot easier :-)
@idemchenko-js3 жыл бұрын
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.
@akshattamrakar90712 жыл бұрын
I liked elm but no company I worked at and no developer I know is using elm.
@idemchenko-js2 жыл бұрын
@@akshattamrakar9071 regardless of that, the elm architecture has made a massive impact on the industry.
@madhankumar52315 жыл бұрын
Clarified my doubts about the state management in Flutter. Thanks a lot.
@milindgour25264 жыл бұрын
I am lucky to find this channel ...😅😅👌👌👍👍 , really good content , I was Soo confused before , but this videos are really helpful , please keep uploading
@lokeshar66495 жыл бұрын
Simply superb... Almost you covered everything.
@andreujuanc5 жыл бұрын
Just getting started with flutter. This helps a lot to clarify issues. Thanks!
@nikhi15 жыл бұрын
Behave responsibly with the state!! Awesome intro to all the patterns for flutter. 😀😀
@MCorpJC4 жыл бұрын
Provider is missing in the list 🙂 good video
@darshangowda3095 жыл бұрын
Thanks for making a list of every solution at one place! BehaviourSubject & RxDart looks super neat and pretty much solves every problem :P
@Fireship5 жыл бұрын
BehaviorSubjects are amazing :)
@kishansampat46324 жыл бұрын
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
@beratsulimani98235 жыл бұрын
State managemet is a data workflow of your application. Love this T-shirt
@petroniobonavides35304 жыл бұрын
GETX is the future of Productive State Management.. This is simples.. clear.. short and highly powerfull.. State simple/reactive management(without codegen), route Management and Dependencies Management encapsulated in one only packege.. Could you please bring some content about? Nobody talks about GetX, and it is really powerfull tool, as well.
@maxwellnderitu3 жыл бұрын
Great content as usual. Still relevant in 2021 👍
@emericgnonhoue70295 жыл бұрын
Great content. I think I'll go with BLoC
@Fireship5 жыл бұрын
Not a bad choice :)
@DanielTubul3 жыл бұрын
such a long video but passed so fast = A really good one!!! thanks for that
@lutaseb5 жыл бұрын
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
@abhishekdewadiga11135 жыл бұрын
Nicely done!!! All the possible state management approaches for a flutter app. 👍
@mrbbot5 жыл бұрын
Wow! Great video, nice to have all the different methods concisely explained in one place.
@sachindraragul10942 жыл бұрын
You are just awesome
@contemplator19932 жыл бұрын
Whether this video teaches latest concept of state management, right ??
@sachindraragul10942 жыл бұрын
@@contemplator1993 Not latest though. But some are good enough. There are more easier ways to do state management now.
@contemplator19932 жыл бұрын
@@sachindraragul1094 kindly share those links bro.
@huzefatunkiwala54145 жыл бұрын
very good information, very helpful , even i don't know 10 state management things , i learn lot
@andrewgoeden1035 жыл бұрын
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.
@jeisy81534 жыл бұрын
Nice video, I also got into push recently... Still experimenting with networks but so far MonadPlug is the best...
@alexandrsmith69095 жыл бұрын
Thanks for one more amazingly useful video during my learning stage 👍🏻 keep it up 🖐🏻
@dharmang4 жыл бұрын
Wow i only knew the 1st one. But dang loved the RxDart method!! 💖
@junhuh89404 жыл бұрын
Good compact well explained about alternatives available for flutter state.
@Fullstackdesign5 жыл бұрын
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?
@Fireship5 жыл бұрын
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.
@emmanuelogbewe23345 жыл бұрын
Man I’ve been waiting for this. Has to be one of the best vids on state management. Thank you!!
@lunargixx68675 жыл бұрын
Fantastic video about state management
@tesla17724 жыл бұрын
shit i was passing values to each and every constructor ... : )
@doombois81704 жыл бұрын
aw shit we are in the same boat
@VivekMore15 жыл бұрын
I love your small and succinct videos
@Pyroo05 жыл бұрын
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.
@Fireship5 жыл бұрын
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.
@bascelik914 жыл бұрын
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.
@dhiyaaulauliyaa39885 жыл бұрын
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 😄
@deriegle5 жыл бұрын
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.
@siddhantkumar70365 жыл бұрын
Ha! State management ..... Hard to learn but this video helped!
@Fireship5 жыл бұрын
Sometimes it's only hard if you make it hard, focus on keeping it simple :)
@veda_dom5 жыл бұрын
Thank for this video, you helped to realize the others. Thanks for fireship too.
@vinayrwt2 жыл бұрын
Now we have Get library which is really amazing 😃
@leonardoventocilla32755 жыл бұрын
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.
@willysvarela12545 жыл бұрын
Awesome video
@veda_dom5 жыл бұрын
I have been using flutter_flux, it is simple and understandable.
@mohamedzakria29754 жыл бұрын
WOW, super simple, great compression
@StevenTse5 жыл бұрын
thx for the vid, how about Provider?
@sadhlife4 жыл бұрын
scoped_model looked exactly like it, but I think provider is made by the flutter team itself
@maexlep894 жыл бұрын
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.
@sadhlife4 жыл бұрын
@@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.
@laxmikantswain25684 жыл бұрын
Awesome content about State management!!!
@soulninjadev3 жыл бұрын
my god! I was searching for this yesterday 😭
@rnvdrs5 жыл бұрын
I see BloC makes a lot of sense for flutter
@ahmedboutaraa87714 жыл бұрын
i will never ask for more
@pardipbhatti99435 жыл бұрын
Thanks for the video. I just got pro membership at your site.
@MultiTelefono3 жыл бұрын
thanks for the video!!
@kishansampat46324 жыл бұрын
Why to use state management when we have providers and change notifier we can use them too as a substitute. flutter works awesome with this its rapid development when you use these according to my experience
@aviad45 жыл бұрын
Like your videos, short and informative.
@jasonsebring39833 жыл бұрын
The simpler singleton stream approach is exactly what I was looking for. To hell with complexity.
@AbhishekKumar-mq1tt5 жыл бұрын
Thank u for this awesome video
@oztech5 жыл бұрын
Fantastic. But wait... so what is the best way? I used redux with flutter. Should i go with BLOC instead?
@Fireship5 жыл бұрын
There is no best way! Do feels right in your heart ❤️
@oztech5 жыл бұрын
@@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.
@amsakanna5 жыл бұрын
Redux is great IMO. Take a look at redux epics too.
@oztech5 жыл бұрын
@@amsakanna i use Redux for many projects. Yeah its great but it requires too much coding.
@oztech5 жыл бұрын
@@Fireship i tried BloC pattern and now loving it!
@fille.imgnry5 жыл бұрын
IMHO the built in StreamController is a very solid choice. Not sure why it was left out in this video.
@Fireship5 жыл бұрын
BehaviorSubject is the Rx equivalent to a StreamController, I probably should have mentioned that :)
@itsmeaayush5 жыл бұрын
Love your Flutter Tutorial.
@Fireship5 жыл бұрын
Thank you :)
@RageBasterd5 жыл бұрын
Bloc all the way
@kaushalyaroshan4 жыл бұрын
Great content with nice animations🤩🤩
@AvinashSingh-nq5ud5 жыл бұрын
Which state management you prefer for a beginner or intermediate flutter developers??
@Fireship5 жыл бұрын
Scoped Model or the BehaviorSubject approach I showed in the video.
@AvinashSingh-nq5ud5 жыл бұрын
Thanks
@DevKhalilKhalil5 жыл бұрын
Thank you very much for this nice created video, it was really helpful.