Hi y'all! I just wanted to say thank you for keeping the dialogue going on this video and keeping things respectful! I know state management can be a contentious topic where we can have strong, varying opinions. Naturally, I was a bit hesitant taking on this video 🫣 but seeing the responses and conversations on your preferred state management tell me that the effort has paid off :) Thank you for being an awesome community with such a welcoming environment!
@@yorjanis5194 Hey, Yorjanis! First, thank you for watching the video and liking it enough to want to translate it for your students :) Second, we actually have Spanish subtitles on this video now! The translations for our videos can sometimes be a bit delayed so it may not have been there yet when you watched the video. Hope this helps your students!
I was having two options: React or Flutter. And I am glad I chose Flutter. This is one of the most amazing and energetic community of developers. No doubt Flutter will touch skies in the coming years.
This is an awesome explanation! Very easy to understand. Althought if you have team with mixed expertise. Then using riverpod can quickly get messy and then you have to reinvent the concepts of how to structure your code. In bloc, the standards are well defined. You have 3 files - State, Events and the bloc. Anyone starts new does have to feel like they are lost in the woods when looking at the code.
For me, Riverpod is a breath of fresh air. I came from Provider, and it will become a mess quickly. I find it a little more exhaustive on debugging than Riverpod. Also, I like the concept of AsyncValue in Riverpod.
They're both really good state management solutions, but Riverpod is definitely very opinionated in how you write models. Provider lets you control things a bit more but with the risk of messier model design.
riverpod is rock solid! we use it in prod for over a year already 🤞 Now only thing that I wish for is static metaprogramming, since it'd makes riverpod even more intuitive to use.
Nice video. At this time I still prefer to use Bloc mainly because it works so well in teams. It's more opinionated than Riverpod which (I guess) makes it less flexible but when working in teams or in situations where another developer is going to have to look at my code half a year from now it's really nice because it forces the developers to write code in a certain way, which creates consistency. That consistency is important so that the developers can understand each other's code better without running into surprises.
Thanks for this video, Khanh! Extremely gnarly topic, well explained. And it's clear you took great care in striking the balance between giving people useful advice, and starting a flame war. Cheers! P.S.: Seeing the provider and consumer blobs put a big smile on my face!
If you're using scoped_model, you must have been coding with Flutter for a while! It's a great package, but definitely one of the oldest approaches to state management.
I understand Google recommends Provider.. but with so many state management tools and approaches, it would be nice to have guidelines for best practices.
This video was very helpful with all that info condensed in 5 mins. I wish there was corresponding code as with previous videos. I have 2 errors in the main.dart file TaskItem has a red squiggly line underneath. The progress bar does not work.
Hey there! Glad you found the video helpful! Check out the GitHub repository here → goo.gle/3H02gUe. It was hiding under the description's Show More button!
Flutter's UI code, out-of-box support and documentation are awesome. Plus I love coding in dart. Still can't use in webdev cause after build its heavy and slow, specially lag in animation. Really hope it gets better and better. Although mobile and desktop builds seem fine.
You are great. I have been working with state management solutions for a long time understanding little of it. This video makes understanding those solutions pretty easy and I am thankful for that. Keep up those videos! :D
I'm using BLoC and it's scalable and easy to use. I suggest to check its toturials because you learn how to develop application using feature driven architecture
Nice concise video. But my goto choice is still cubits. Perfect for bigger apps. You can have full control. And UI is more separated from business logic.
@@adnanjpg Unlike blocs, cubits don't require boilerplate code. And in reality you will rarely need blocs(only for some complex stream input manipulations) Also you have better control of you state object with cubit/bloc. You can allow your widget tree to rebuild on only specific events. lastly, the business logic code lives on its own files, seperate from UI. You never need to call infrastructure code from UI. testing is a breeze.
Why does the code rebuild the list of checkboxs for just one user check action? If I added thousand of items throughout my life, it is going to be slow when I check.
*I NEED HELP!* hi guys, i'm beginner on flutter development and i am just trying to implement what we are learning on this video ( flutter state management using flutter_riverpod), but i got an error in my StateNotifierProvider. could anyone help me ? obs: I'm learning english too, sorry for any mistake i've made. kkk
No sabia que un tutorial podia iniciar con el final y terminar con el inicio, para alguien que inicia en Flutter esto es catastrofico. Porque pre-asumimos que dichas Clases Task and TaskNotifier podrian ser nombres reservados.
does not explain how _TaskItemState extends State needs to be changed to support WidgetRef paramenter in build. This is where learning something becomes frustrating and all the hard work and easy explanations become an insult to someone who just wants to learn. the out of sequence presentation of changes makes it much worse. if you are showcasing your framework, please dont label it as a tutorial.
Hey there! I'll make a note to clarify that up front next time so to not be misleading. Just to share my motivation behind this video, I hadn't intended on the video being a full Riverpod tutorial since there's already so much great content from the community which covers it. I wanted to share the concept of state management and RiverPod was a good way to show a more concrete example of the concepts that I discussed, so I glossed over a lot of the implementation details. Plus, we would've needed more than 5 minutes to cover everything ;) Thank you for sharing that feedback, I really appreciate it!
For everyone in the future: 1. Change your TaskItem to extend ConsumerWidget 2. Remove the createState() method from TaskItem 3. Move the build() method from _TaskItemState to TaskItem 4. Delete _TaskItemState, it is not needed anymore. 5. (It not already done, make changes to Checkbox seen in video at 4:44) 6. Change "widget.label" from Text to "task.label" I home this helped someone!
riverpod to me is the worse choose for many reasons, we loose encapsulation and a lot of OOP concepts. The best solution I can suggest for maintainable project is to make providers as privet other ways you don't know in which place you change the state.
Feel free to provide counter arguments, but I'd argue that's false. You do know what modifies your state: The StateNotifier. Nothing else can modify it..
@@remirousselet6867 It's true that I know by what my state is changed, but I cannot know or force it to be changed form a specific part of the app, obviously if my provider is public I'm able to change its state from any place in the app. Thanks!
@@talatelbeick6829 Depends. If you're referring to "scoping an object to only one screen", you can do that in Riverpod. It's not true that you can change the state from any place.
Begin learning Flutter → goo.gle/LearnFlutter
looks like no new videos for this series
Hi y'all! I just wanted to say thank you for keeping the dialogue going on this video and keeping things respectful! I know state management can be a contentious topic where we can have strong, varying opinions. Naturally, I was a bit hesitant taking on this video 🫣 but seeing the responses and conversations on your preferred state management tell me that the effort has paid off :) Thank you for being an awesome community with such a welcoming environment!
Thanks Khanh Nguyen, great content, it's helpful.
thank your latest update after one year:)
One question, can I translate your video into Spanish so that my students can see it on TH-cam to upload it?
Woooo go Khannie!
@@yorjanis5194 Hey, Yorjanis! First, thank you for watching the video and liking it enough to want to translate it for your students :) Second, we actually have Spanish subtitles on this video now! The translations for our videos can sometimes be a bit delayed so it may not have been there yet when you watched the video. Hope this helps your students!
I was having two options: React or Flutter. And I am glad I chose Flutter. This is one of the most amazing and energetic community of developers. No doubt Flutter will touch skies in the coming years.
Thank you for being a part of our amazing and energetic community of developers!
Got a big smile on my face when i saw that you are "promoting" riverpod on this official channel. Best state management solution for flutter for sure!
This is an awesome explanation! Very easy to understand. Althought if you have team with mixed expertise. Then using riverpod can quickly get messy and then you have to reinvent the concepts of how to structure your code. In bloc, the standards are well defined. You have 3 files - State, Events and the bloc. Anyone starts new does have to feel like they are lost in the woods when looking at the code.
I completely agree about BLoC. Awesome pattern and awesome library for flutter.
For me, Riverpod is a breath of fresh air. I came from Provider, and it will become a mess quickly. I find it a little more exhaustive on debugging than Riverpod.
Also, I like the concept of AsyncValue in Riverpod.
They're both really good state management solutions, but Riverpod is definitely very opinionated in how you write models. Provider lets you control things a bit more but with the risk of messier model design.
@@merthyr1831 no doubt, in my opinion Riverpod and Provider have less boilerplate and "etc" package than other state management.
riverpod is rock solid! we use it in prod for over a year already 🤞
Now only thing that I wish for is static metaprogramming, since it'd makes riverpod even more intuitive to use.
Nice video. At this time I still prefer to use Bloc mainly because it works so well in teams.
It's more opinionated than Riverpod which (I guess) makes it less flexible but when working in teams or in situations where another developer is going to have to look at my code half a year from now it's really nice because it forces the developers to write code in a certain way, which creates consistency. That consistency is important so that the developers can understand each other's code better without running into surprises.
Yep, plenty to like about flutter_bloc! There's a reason both it and Riverpod are Flutter Favorite packages. :)
Riverpod is fantastic, great video
GetX better :-)
@@rudinandrey getx is bad in general, not just for state management
@@rudinandrey could you please explain why?
There's even riverpod hooks!
@@marflage easy to use. tools must to be easy. a lot of usefull tools like routing and so on.
What a simple natural way to explain. Thanks a lot!
Thanks for this video, Khanh! Extremely gnarly topic, well explained. And it's clear you took great care in striking the balance between giving people useful advice, and starting a flame war. Cheers!
P.S.: Seeing the provider and consumer blobs put a big smile on my face!
Just started riverpod and it has been awesome!!
Riverpod is definitely the best state management library available for flutter
definitely not.
@@rdrgbaioco What would you recommend? Google itself recommends riverpod.
@@BrunoCodemanbloc
When I understood the watch I felt a rock lifted from my heart, it felt so easy
Scoped model, provider, inherited widgets are usually my go to choices
If you're using scoped_model, you must have been coding with Flutter for a while! It's a great package, but definitely one of the oldest approaches to state management.
I understand Google recommends Provider.. but with so many state management tools and approaches, it would be nice to have guidelines for best practices.
Riverpod is a better "provider". I recommend it.
Love Blocs and Riverpod, but still use Redux + Epics combo in production :D
This video was very helpful with all that info condensed in 5 mins. I wish there was corresponding code as with previous videos.
I have 2 errors in the main.dart file
TaskItem has a red squiggly line underneath.
The progress bar does not work.
Hey there! Glad you found the video helpful! Check out the GitHub repository here → goo.gle/3H02gUe. It was hiding under the description's Show More button!
Great solution for state management =)
Need more like this to learn flutter
Flutter's UI code, out-of-box support and documentation are awesome. Plus I love coding in dart. Still can't use in webdev cause after build its heavy and slow, specially lag in animation. Really hope it gets better and better. Although mobile and desktop builds seem fine.
anyone has the link for the last part of this intro to flutter series? cant seem to find it anywhere
Great video... also using Riverpod right now...
You are great. I have been working with state management solutions for a long time understanding little of it. This video makes understanding those solutions pretty easy and I am thankful for that. Keep up those videos! :D
I'm using BLoC and it's scalable and easy to use. I suggest to check its toturials because you learn how to develop application using feature driven architecture
Riverpod is best State management Solutions
Riverpod!🎉
Awesome explanation for beginners!
Nice concise video. But my goto choice is still cubits. Perfect for bigger apps. You can have full control. And UI is more separated from business logic.
can you elaborate on how cubits are better for bigger apps?
@@adnanjpg Unlike blocs, cubits don't require boilerplate code. And in reality you will rarely need blocs(only for some complex stream input manipulations) Also you have better control of you state object with cubit/bloc. You can allow your widget tree to rebuild on only specific events. lastly, the business logic code lives on its own files, seperate from UI. You never need to call infrastructure code from UI. testing is a breeze.
@@aytunch nothing special, riverpod has is
do i need to install riverpod?
GetBuilder state managment???? Is the better. Please talk about
Why does the code rebuild the list of checkboxs for just one user check action? If I added thousand of items throughout my life, it is going to be slow when I check.
And here I was using shared preferences 😅 for this.
Just use kmm with compose...
Riverpod 🤩
"Let's pick up where we left last time"
I see what you did there
😅 Forcing us poor lads to watch the previous one?
@@dilshadxahmad no dude, I meant that she's talking about states
@@adolfomotanavarro6553 ok dude, my bad.
Well this is going to be contentious.....
I would love to have a course like Google Garage about Flutter 🙏🏻
*I NEED HELP!*
hi guys, i'm beginner on flutter development and i am just trying to implement what we are learning on this video ( flutter state management using flutter_riverpod), but i got an error in my StateNotifierProvider. could anyone help me ?
obs: I'm learning english too, sorry for any mistake i've made. kkk
and the what's function of setState? kasih tau dong yg tau :(
apakah harus menggunakan state management untuk handle errorMessage
What's the title of video from previous?
It's this video! th-cam.com/video/QlwiL_yLh6E/w-d-xo.html "What is State?"
Where is the source code of this task project?
No sabia que un tutorial podia iniciar con el final y terminar con el inicio, para alguien que inicia en Flutter esto es catastrofico. Porque pre-asumimos que dichas Clases Task and TaskNotifier podrian ser nombres reservados.
I just realized Riverpod is an anagram for Provider 🤯
Me too realized that only few months ago. Cutely Genius tho.
Great! thank you.
Please make a flutter splash screen animation tutorial. 😊
Good keep going.
What is next video?
🎉
Awesome!
✊🏾🔥🔥🔥
Nice!
introducing tauri 🗿
Please teach us from Start like beginner please make
Hey there! What type of content would you like to see for beginners?
👍👍
Up
flutter translate vietnamese very few
does not explain how _TaskItemState extends State needs to be changed to support WidgetRef paramenter in build. This is where learning something becomes frustrating and all the hard work and easy explanations become an insult to someone who just wants to learn. the out of sequence presentation of changes makes it much worse. if you are showcasing your framework, please dont label it as a tutorial.
Hey there! I'll make a note to clarify that up front next time so to not be misleading. Just to share my motivation behind this video, I hadn't intended on the video being a full Riverpod tutorial since there's already so much great content from the community which covers it. I wanted to share the concept of state management and RiverPod was a good way to show a more concrete example of the concepts that I discussed, so I glossed over a lot of the implementation details. Plus, we would've needed more than 5 minutes to cover everything ;) Thank you for sharing that feedback, I really appreciate it!
I have the same problem. What changed do need to be made? I'm stuck...
For everyone in the future:
1. Change your TaskItem to extend ConsumerWidget
2. Remove the createState() method from TaskItem
3. Move the build() method from _TaskItemState to TaskItem
4. Delete _TaskItemState, it is not needed anymore.
5. (It not already done, make changes to Checkbox seen in video at 4:44)
6. Change "widget.label" from Text to "task.label"
I home this helped someone!
riverpod to me is the worse choose for many reasons, we loose encapsulation and a lot of OOP concepts. The best solution I can suggest for maintainable project is to make providers as privet other ways you don't know in which place you change the state.
what do you mean by you loose encapsulation and OOP concepts? Providers just give access to an object instance
Feel free to provide counter arguments, but I'd argue that's false. You do know what modifies your state: The StateNotifier. Nothing else can modify it..
@@remirousselet6867 It's true that I know by what my state is changed, but I cannot know or force it to be changed form a specific part of the app, obviously if my provider is public I'm able to change its state from any place in the app. Thanks!
@@talatelbeick6829 Depends. If you're referring to "scoping an object to only one screen", you can do that in Riverpod.
It's not true that you can change the state from any place.
@@remirousselet6867 Interesting, how can I be sure that X provider is changed only in deceleration file?
came from scopedModel. then provider. then to inheritedWidget. with streamControllers. basically provider of my own