Thank you for putting this out. Your approach in explaining the riverpod architecture using "familiar" concepts i.e global Class declaration, class instances made it easy for me to follow and grasp. Please keep up the great work. I really like your tutorials and your teaching approach.
Hello @ResoCoder, I have noticed your latest video almost a year ago, are not you working onFlutter? Please keep sharing your knowledge, it is one of the best channel for Flutter.
LoL, I’ve been learning Riverpod for 3 days now after using GetX, BLoC etc…. I think it’s going to be the best state management package ! Really easy to understand and to use 🔥💪 You’re just in time !!!
@@ahmedibrahim-a9312 GetX is really powerful, it allows u to make DI, State Management, Routing etc.. very easily But, you’ll can’t be able to think out of the box and your whole way of developing with Flutter will be replaced by developing in GetX, not in Flutter anymore… Riverpod is really easy to understand and very very easy to use. Much more than GetX 💪
@@Baraka0369 you got that absolutely right !! even me using Flutter straight for more than 2 years , almost 3 years , i started to forget some basics as you don't deal with "context" anymore. also ModalBottomSheets , ScaffoldMessengers , Snackbars , Dialogs & finally .. routing , this is a mess !!
I respect your creativity. Everything is clear and understandable. I would really like a new playlist about blocks (ddd course) Please don't ignore your followers.
Fantastic tutorial! At 48:30 you mention the use use of ref.read inside the counterProvider, but the riverpod documentation advises us to not do that (and use watch instead). You have a great channel!
@@AlamgirTamboli In fact they both are not the same, you can use watch when you need listen over a provider and you can use read when the interaction with the provider is "one time" and you don't need listening over it.
Depends on your use case. As @Mijael Viricochea Parra mentioned, when using `watch` your provider will refresh when the one you are watching emits a change. If using `read` it will not refresh. In the docs they are suggesting to use `watch` as that would be more "safe" down the road, in case later you decide that the provider you are reading should start emitting changes.
at 31:00 it encourages to use read to access the provider state and increment it, but in the official documentation, it encourages to use watch instead: "Using ref. read should be avoided as much as possible because it is not reactive." "If you can, it is almost always better to use watch". "You might be tempted to use ref. read to optimize the performance. But this is a very bad practice and can cause bugs that are difficult to track." "(using ref.watch) our button will not rebuild when the counter increments. It also supports cases where the counter is reset." The doc also mentions not to use ref. watch inside onPressed (watch method should not be called asynchronously). So the best practice seems to be calling ref. watch before onPressed to get a reference of the state provider, then use that reference in the onPressed to increment the state.
I'm sorry but this video is just covering Riverpod 1.0.0 features. Riverpod 2.0.0 (in development atm) is introducing advanced APIs to handle specific scenarios (onCancel events, caching, etc.). These are just the basics of Riverpod that were introduced in v0.14 (besides the ref.listen API)
The last time he did a tutorial on Riverpod was before 1.0.0. So, there are some api changes and widget updates that he wasn’t able to cover in the original.
This is an introductory tutorial for Riverpod as a whole following the syntax of the version 1.0.0/2.0.0 that doesn’t go into the advanced territory. The APIs you mentioned are maybe something for a separate tutorial.
I agree, it would be helpful to give some introduction about new features of the version 2.x comparing the version 1.x. Otherwise, the title of the video might seem to be misleading. Thanks.
@@ResoCoder the "whole new syntax" is about Riverpod 1.0 and doesn't belong to 2.0, where new APIs are introduced instead of what you present in the video. Nothing about riverpod 2.0 ever shows in this video.
Hey, great tutorial again! thks a lot! Am using BLoC currently, well flutter_bloc which is using Provider under the hood. How would you combine Riverpod with the BLoC Pattern? Simply StreamProvider and passing the BLoC/ cubit in? As I personally do not like providing thinks down the widget tree, use get_it to pass in the BLoC/ Cubit.... maybe this could be replaced with Riverpod... just thinking loudly ;) maybe you have examples on that at hand? thks again!
Thanks for this awesome video it really helped me learning riverpod quickly. Just one request can you please make the same tutorial for the new bloc update . Thanks once again :)
Hi, can you make a TL;DR for returning Flutter developers? Make an All-In-One video each year that sums up all the basics (File structure, Riverpod, Freezed, Flutter Basics, and what is the right order to start an app) this video series idea is missing on youtube and would make your channel grow alot further
Thank you for this amazing tutorial. If I may ask a question, when using autoDispose on the StateNotifierProvider is causing "Tried to use ReposNotifier after `dispose` was called" do you have any idea what's happening ? thank you in advance
I took Reso Coder's Flutter Developer Bootcamp course. But in there he used Riverpod version 0.14, which is very outdated. So I'm wondering if the course (especially the latter part about the production-ready app) is still usable regarding UI and Riverpod state management parts. Does anyone know about this?
I think this is a built-in VSCode feature. To implement it, simply go to VSCode settings and search for *Dart:Preview Flutter Ui Guides* and check its box.
Hi Reso Coder , I have been following you for so long , I wanted to ask you what do you think about Flutterflow capability if i want to use except firebase, i have been using it from 1 week for design and animations , it doesn't provide me any state mgmt, clean architecture approach, neither testing I wanted to know your thoughts abt it ?
25:00 "we are actually gonna rebuild the whole widget" This scares me. Are you saying if I only listen to changes in the Text() widget the whole tree will still be rebuilt instead of just the Text() widget? Because when you use StatefulWidget, only the Text() widget would be rebuilt, so if that is the case then this would be a huge performance issue.
Great tutorials as always. I watched this as a means to look for breaking changes when migrating from 1.0 to 2.0 ... I cant actually see anything. Does anyone have any advice on this subject?
I would love to see an implementation with Slider, I am trying to learn Riverpod and I couldn't figure out how to take a value from Slider and provide it to Counter widget, instead of hard coding it to 5. Other than that, great introduction to Riverpod!
You can also provide reference types to a state notifier. So, you can also provide methods from an object that extends a state notifier. He has a video dedicated to state notifier provider in riverpod.
What's the solution for rebuild entire build method?? I just want to rebuild counter text widget !! one solution is to seperate text widget, what's the other?
28:58 read notifier
29:58 watch 2 print
32:10 dispose
39:25 ref.listen for alerts typestuff--run after
47:00 stream provider
Best riverpod tutorial i found on youtube...Your efforts and such kind of nice content is worth appreciating. 😊
I've watched several Riverpod videos but this one is the most concise and clear. Thank you.
Looks like I just found the best riverpod tutorial on the internet 🎉
This is very friendly, simple and well explained. I highly recommend this video
Holy shit, no other tutorials worked! Finally, this one shows how to do it right. Thank you!
Yes thank you! Been looking for an updated Riverpod tutorial at the moment
Great description. Easy to follow. Will be referring many to this!
Thank you for putting this out. Your approach in explaining the riverpod architecture using "familiar" concepts i.e global Class declaration, class instances made it easy for me to follow and grasp. Please keep up the great work. I really like your tutorials and your teaching approach.
Hello @ResoCoder, I have noticed your latest video almost a year ago, are not you working onFlutter?
Please keep sharing your knowledge, it is one of the best channel for Flutter.
It scared me. I actually hope he is okay 😰 it‘s not common to just quit his passion with such a huge fanbase.
LoL, I’ve been learning Riverpod for 3 days now after using GetX, BLoC etc….
I think it’s going to be the best state management package ! Really easy to understand and to use 🔥💪
You’re just in time !!!
Hi is it easier than getX?
@@ahmedibrahim-a9312 GetX is really powerful, it allows u to make DI, State Management, Routing etc.. very easily
But, you’ll can’t be able to think out of the box and your whole way of developing with Flutter will be replaced by developing in GetX, not in Flutter anymore…
Riverpod is really easy to understand and very very easy to use. Much more than GetX 💪
@@Baraka0369 oh okkke thaanks 🔥
@@Baraka0369 you got that absolutely right !!
even me using Flutter straight for more than 2 years , almost 3 years , i started to forget some basics as you don't deal with "context" anymore. also ModalBottomSheets , ScaffoldMessengers , Snackbars , Dialogs & finally .. routing , this is a mess !!
@@moazahmed5388 you got it…
Now you are aware, let’s give Riverpod a try ! 🔥
Yo my new project using riverpod and you just upload this. Perfect
I respect your creativity. Everything is clear and understandable. I would really like a new playlist about blocks (ddd course)
Please don't ignore your followers.
This tutorial made me smile. Thank you for this.
It's perfect. Thank you. Could you do a video about data structures in dart?
Yay Reso Coder is back!! :D
Thanks man for providing knowledge for free.I want to say thank you and your channel heaven to me.
Fantastic tutorial! At 48:30 you mention the use use of ref.read inside the counterProvider, but the riverpod documentation advises us to not do that (and use watch instead). You have a great channel!
I was just about to make the same comment... @ResoCoder any feedback here would be appreciated, thanks!
I believe he was just saying other methods that are available from a ref, but you're correct the preferred method is ref.watch.
@@AlamgirTamboli In fact they both are not the same, you can use watch when you need listen over a provider and you can use read when the interaction with the provider is "one time" and you don't need listening over it.
Depends on your use case. As @Mijael Viricochea Parra mentioned, when using `watch` your provider will refresh when the one you are watching emits a change. If using `read` it will not refresh. In the docs they are suggesting to use `watch` as that would be more "safe" down the road, in case later you decide that the provider you are reading should start emitting changes.
What was the point of webSocketClientProvider when return FakeWebSocketClient().getCounterStream(start) ; works as well inside counterProvider?
Excellent - able to understand the concepts deeper , thanks
Super great tutorial! Thank You!
at 31:00 it encourages to use read to access the provider state and increment it, but in the official documentation, it encourages to use watch instead:
"Using ref. read should be avoided as much as possible because it is not reactive."
"If you can, it is almost always better to use watch".
"You might be tempted to use ref. read to optimize the performance. But this is a very bad practice and can cause bugs that are difficult to track."
"(using ref.watch) our button will not rebuild when the counter increments. It also supports cases where the counter is reset."
The doc also mentions not to use ref. watch inside onPressed (watch method should not be called asynchronously). So the best practice seems to be calling ref. watch before onPressed to get a reference of the state provider, then use that reference in the onPressed to increment the state.
Dude! Perfect timing! Thanks for your hard work (of the whole team)!
Feels so good to see you back
Lol just about time when i looked for riverpod tutorial thank you for this
Thank you for sharing full guides like this
I'm sorry but this video is just covering Riverpod 1.0.0 features. Riverpod 2.0.0 (in development atm) is introducing advanced APIs to handle specific scenarios (onCancel events, caching, etc.). These are just the basics of Riverpod that were introduced in v0.14 (besides the ref.listen API)
The last time he did a tutorial on Riverpod was before 1.0.0. So, there are some api changes and widget updates that he wasn’t able to cover in the original.
This is an introductory tutorial for Riverpod as a whole following the syntax of the version 1.0.0/2.0.0 that doesn’t go into the advanced territory. The APIs you mentioned are maybe something for a separate tutorial.
I agree, it would be helpful to give some introduction about new features of the version 2.x comparing the version 1.x. Otherwise, the title of the video might seem to be misleading. Thanks.
@@ResoCoder the "whole new syntax" is about Riverpod 1.0 and doesn't belong to 2.0, where new APIs are introduced instead of what you present in the video. Nothing about riverpod 2.0 ever shows in this video.
Thank you! Been looking to make the Provider => Riverpod jump!
Hey, great tutorial again! thks a lot! Am using BLoC currently, well flutter_bloc which is using Provider under the hood. How would you combine Riverpod with the BLoC Pattern? Simply StreamProvider and passing the BLoC/ cubit in? As I personally do not like providing thinks down the widget tree, use get_it to pass in the BLoC/ Cubit.... maybe this could be replaced with Riverpod... just thinking loudly ;) maybe you have examples on that at hand? thks again!
Wow! thank you so much, considering your bootcamp to support your efforts. Much appreciated!
Riverpod is amazing. 2ndly Bloc
wow amazing content it's time to switch provider to Riverpod thanks
Thanks for this awesome video it really helped me learning riverpod quickly. Just one request can you please make the same tutorial for the new bloc update .
Thanks once again :)
Hi, can you make a TL;DR for returning Flutter developers? Make an All-In-One video each year that sums up all the basics (File structure, Riverpod, Freezed, Flutter Basics, and what is the right order to start an app) this video series idea is missing on youtube and would make your channel grow alot further
After so many days ❤️
Thank you for this tutorial. It was clear and concise!
What a perfect timing 🌹💛
reso coder,it's been a long time no post
We're missing your teaching Sir...!!!
Compile time safety... you won me already
thanks, this is more of an eye opener
Finally I see your new video
Thanks exactly what I was looking for , what is the extension for the tree view lines ?
good tutorial, thanks
When you need something, TH-cam algorithm takes care of it.
This was really useful! Very easy to understand. Thanks 👏
Genial! You back! Keep it up!
I love the voice now much better
Riverpod Tutorial From Reso Waiting From Long time(Bootcamp)😵😋Finally Here
This was amazing ❤
Great video. Thanks!!!
hello are you still there?
Are you alive Reso Coder ? Why aren't you uploading new videos ?
Great tutorial!
What! This is really great tutorial. Holy f
awesome work man!
Can u do clean architecture using riverpod.
Great job 👍👍👏👏
Very good tutorial, may I know the extensions you use. I especially want to know the bars on every widget.
might be a bit late for this, but in the vscode settings, search for and enable 'preview flutter ui guides' and then restart vscode
Thank you for this amazing tutorial. If I may ask a question, when using autoDispose on the StateNotifierProvider is causing "Tried to use ReposNotifier after `dispose` was called" do you have any idea what's happening ? thank you in advance
Love from Nepal
You are awesome! Thank you so much.. Do you think this is better than BLoC?
make a video on the extensions you are currently using
thanks man
thanks for the content ♥
good work
Great man! Thank you so much 🥰🙏
Why are there two different riverpod packages, riverpod and flutter_riverpod?
Hey can you make a video of latest flutter bloc version in DDD playlist
I took Reso Coder's Flutter Developer Bootcamp course. But in there he used Riverpod version 0.14, which is very outdated.
So I'm wondering if the course (especially the latter part about the production-ready app) is still usable regarding UI and Riverpod state management parts.
Does anyone know about this?
Hi, could you please tell me what's the VSCode extension that shows this bars joining the tree of widgets?
Thanks!
I think this is a built-in VSCode feature. To implement it, simply go to VSCode settings and search for *Dart:Preview Flutter Ui Guides* and check its box.
Hi Reso Coder , I have been following you for so long , I wanted to ask you what do you think about Flutterflow capability if i want to use except firebase, i have been using it from 1 week for design and animations , it doesn't provide me any state mgmt, clean architecture approach, neither testing
I wanted to know your thoughts abt it ?
Hello ,May I ask which architecture do you suggest for flutter development ???
25:00 "we are actually gonna rebuild the whole widget" This scares me. Are you saying if I only listen to changes in the Text() widget the whole tree will still be rebuilt instead of just the Text() widget? Because when you use StatefulWidget, only the Text() widget would be rebuilt, so if that is the case then this would be a huge performance issue.
Thanks bro!
Riverpod 2.0 released today, any update here?
what extension you are using with all these tree view "LL" ?
how to handle form validation using riverpod??
Great tutorials as always.
I watched this as a means to look for breaking changes when migrating from 1.0 to 2.0 ... I cant actually see anything. Does anyone have any advice on this subject?
I love flutter_bloc.
I want to ask if flutter support the micro-services architecture
like first, watch later
I would love to see an implementation with Slider, I am trying to learn Riverpod and I couldn't figure out how to take a value from Slider and provide it to Counter widget, instead of hard coding it to 5.
Other than that, great introduction to Riverpod!
You could probably use a state provider
What font you use?
34:38 sounds pretty gangsta to me 🤐
what happened to reso coder? why is this his last clip?
I still waiting for full tutorials for real project examples like Riverpod + Firebase.
would be perfect if it was straight forward, felt like its laggin. But good tutorial though
Would you mind indexing the video?
At 49:05 Line no. 24, can't we just use ref.read() ?
I asked myself the same question. The riverpod documentation calls the approach with read a bad practice. But I did not found a explanation why…
What's the font name of vscode?
I would really like to join the Boot Camp, but for us Latin people is hard to pay it 😞
Why you shifted from Unity game development to Flutter?
What if I want to pass two or more parameters to the counterProvider?
You can also provide reference types to a state notifier. So, you can also provide methods from an object that extends a state notifier. He has a video dedicated to state notifier provider in riverpod.
Create a class
@@TronKTA yep thanks chris, it is explained in the official documentation too, I read it just after wrote this comment
Be honest ResoCoder how long it took for you to develop the github Client App and how long it took you to make that bootcamp.
What's the solution for rebuild entire build method?? I just want to rebuild counter text widget !! one solution is to seperate text widget, what's the other?
BlocBuilder
What about cubit + Riverpod on 100k subscribers celebration ? :)
PLs New videos😢😢😢😢
thx, but i think it needs another part , you haven't covered that much in this tuto
I think everybody would absolutely cream their pants if you could get the developer and interview them :)
what is ur vs theme
u found it?
@@Malaq4822 is it ayu dark?
@@loopassembly One Dark Pro
@@Malaq4822 ty man
Reso your tutorials would be 100x better if you'd speed up a little bit.