Riverpod 2.0 - Complete Guide (Flutter Tutorial)

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

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

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

    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

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

    Best riverpod tutorial i found on youtube...Your efforts and such kind of nice content is worth appreciating. 😊

  • @Outlines
    @Outlines ปีที่แล้ว

    I've watched several Riverpod videos but this one is the most concise and clear. Thank you.

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

    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.

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

    Holy shit, no other tutorials worked! Finally, this one shows how to do it right. Thank you!

  • @Dieterbe
    @Dieterbe ปีที่แล้ว

    Looks like I just found the best riverpod tutorial on the internet 🎉

  • @highbeekayoduro1521
    @highbeekayoduro1521 9 หลายเดือนก่อน

    This is very friendly, simple and well explained. I highly recommend this video

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

    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
      @ahmedibrahim-a9312 2 ปีที่แล้ว +1

      Hi is it easier than getX?

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

      @@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 💪

    • @ahmedibrahim-a9312
      @ahmedibrahim-a9312 2 ปีที่แล้ว

      @@Baraka0369 oh okkke thaanks 🔥

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

      @@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 !!

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

      @@moazahmed5388 you got it…
      Now you are aware, let’s give Riverpod a try ! 🔥

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

    Great description. Easy to follow. Will be referring many to this!

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

    Yes thank you! Been looking for an updated Riverpod tutorial at the moment

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

    Yo my new project using riverpod and you just upload this. Perfect

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

    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.

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

    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.

    • @user-tf4cd2rw3t
      @user-tf4cd2rw3t ปีที่แล้ว

      It scared me. I actually hope he is okay 😰 it‘s not common to just quit his passion with such a huge fanbase.

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

    This tutorial made me smile. Thank you for this.

  • @prashlovessamosa
    @prashlovessamosa ปีที่แล้ว

    Thanks man for providing knowledge for free.I want to say thank you and your channel heaven to me.

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

    Yay Reso Coder is back!! :D

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

    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.

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

    It's perfect. Thank you. Could you do a video about data structures in dart?

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

    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!

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

      I was just about to make the same comment... @ResoCoder any feedback here would be appreciated, thanks!

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

      I believe he was just saying other methods that are available from a ref, but you're correct the preferred method is ref.watch.

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

      @@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.

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

      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.

    • @AlexanderSuraphel
      @AlexanderSuraphel ปีที่แล้ว

      What was the point of webSocketClientProvider when return FakeWebSocketClient().getCounterStream(start) ; works as well inside counterProvider?

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

    Dude! Perfect timing! Thanks for your hard work (of the whole team)!

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

    Excellent - able to understand the concepts deeper , thanks

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

    Wow! thank you so much, considering your bootcamp to support your efforts. Much appreciated!

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

    Thank you! Been looking to make the Provider => Riverpod jump!

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

    Thank you for sharing full guides like this

  • @sankethb.k642
    @sankethb.k642 2 ปีที่แล้ว +1

    Feels so good to see you back

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

    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 :)

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

    Riverpod is amazing. 2ndly Bloc

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

    wow amazing content it's time to switch provider to Riverpod thanks

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

    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)

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

      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.

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

      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.

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

      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.

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

      @@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.

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

    Lol just about time when i looked for riverpod tutorial thank you for this

  • @srinivasrg5125
    @srinivasrg5125 8 หลายเดือนก่อน

    Super great tutorial! Thank You!

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

    After so many days ❤️

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

    Thank you for this tutorial. It was clear and concise!

  • @glrbrasil
    @glrbrasil ปีที่แล้ว

    This was really useful! Very easy to understand. Thanks 👏

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

    What a perfect timing 🌹💛

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

    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!

  • @ФирузВорисов
    @ФирузВорисов 2 ปีที่แล้ว

    Finally I see your new video

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

    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

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

    Genial! You back! Keep it up!

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

    Great job 👍👍👏👏

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

    This was amazing ❤

  • @EhamPala
    @EhamPala ปีที่แล้ว

    reso coder,it's been a long time no post
    We're missing your teaching Sir...!!!

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

    thanks, this is more of an eye opener

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

    Thanks exactly what I was looking for , what is the extension for the tree view lines ?

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

    When you need something, TH-cam algorithm takes care of it.

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

    Riverpod Tutorial From Reso Waiting From Long time(Bootcamp)😵😋Finally Here

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

    awesome work man!

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

    Great tutorial!

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

    Great video. Thanks!!!

  • @_3clipse_
    @_3clipse_ 9 หลายเดือนก่อน

    Compile time safety... you won me already

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

    Great man! Thank you so much 🥰🙏

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

    Love from Nepal

  • @seatconnect224
    @seatconnect224 ปีที่แล้ว

    good tutorial, thanks

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

    Very good tutorial, may I know the extensions you use. I especially want to know the bars on every widget.

    • @kylerbesher9402
      @kylerbesher9402 ปีที่แล้ว

      might be a bit late for this, but in the vscode settings, search for and enable 'preview flutter ui guides' and then restart vscode

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

    thanks for the content ♥

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

    Can u do clean architecture using riverpod.

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

    I love the voice now much better

  • @doulainc.498
    @doulainc.498 2 ปีที่แล้ว

    What! This is really great tutorial. Holy f

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

    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

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

    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.

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

    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!

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

      You could probably use a state provider

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

    Why are there two different riverpod packages, riverpod and flutter_riverpod?

  • @مهدیپسندیده-ي3س
    @مهدیپسندیده-ي3س 2 ปีที่แล้ว

    Hello ,May I ask which architecture do you suggest for flutter development ???

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

    make a video on the extensions you are currently using

  • @mandeno4063
    @mandeno4063 ปีที่แล้ว

    good work

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

    You are awesome! Thank you so much.. Do you think this is better than BLoC?

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

    Thanks bro!

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

    I want to ask if flutter support the micro-services architecture

  • @oussamaberhili
    @oussamaberhili ปีที่แล้ว

    thanks man

  • @cgutierr-zgz
    @cgutierr-zgz 2 ปีที่แล้ว

    Hi, could you please tell me what's the VSCode extension that shows this bars joining the tree of widgets?
    Thanks!

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

      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.

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

    At 49:05 Line no. 24, can't we just use ref.read() ?

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

      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…

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

    Would you mind indexing the video?

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

    Riverpod 2.0 released today, any update here?

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

    how to handle form validation using riverpod??

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

    Are you alive Reso Coder ? Why aren't you uploading new videos ?

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

    Hey can you make a video of latest flutter bloc version in DDD playlist

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

    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 ?

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

    like first, watch later

  • @laurapeterson146
    @laurapeterson146 ปีที่แล้ว

    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?

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

    what extension you are using with all these tree view "LL" ?

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

    hello are you still there?

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

    I love flutter_bloc.

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

    What font you use?

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

    What if I want to pass two or more parameters to the counterProvider?

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

      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.

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

      Create a class

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

      @@TronKTA yep thanks chris, it is explained in the official documentation too, I read it just after wrote this comment

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

    I still waiting for full tutorials for real project examples like Riverpod + Firebase.

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

    What's the font name of vscode?

  • @geenews6207
    @geenews6207 ปีที่แล้ว

    Why you shifted from Unity game development to Flutter?

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

    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?

  • @telostia
    @telostia ปีที่แล้ว

    what happened to reso coder? why is this his last clip?

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

    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.

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

    I would really like to join the Boot Camp, but for us Latin people is hard to pay it 😞

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

    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?

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

    34:38 sounds pretty gangsta to me 🤐

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

    What about cubit + Riverpod on 100k subscribers celebration ? :)

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

    Bude pokračovanie ?

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

      Nebude úplne pokračovanie, ale bude Riverpod + Bloc.

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

    would be perfect if it was straight forward, felt like its laggin. But good tutorial though

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

    thx, but i think it needs another part , you haven't covered that much in this tuto

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

    Well, I'm not sure about Riverpod! You only find very simple examples for it like counters and lists and so on. For such simple things, it is ok, to have to clone the state on every change, BUT for big, complex apps this isn't the way you want to go.
    When you have a lot of pages with input-forms with lets say 40 fields, date-selections, texts, combo-boxes, list with complex elements and so on..., you don't want to clone the complete state every time the users changes a field. Also you don't want to use cascading providers or provider-functions for deciding when to rebuild your widgets.
    What you need in this case is mutable state and fine grained control over which changes lead in which situation to a rebuild, meaning your business logic should decide which change is relevant for the GUI.
    So, you would need the ChangeNotifierProvider for that, like in the provider package. Riverpod has that too, but it discourages it's use!?!
    I'm not sure if ChangeNotifierProvider will be deprecated in the future, because Riverpod seems to be targeted rather at small apps and not for complex mobile apps or desktop apps. That's why I'm thinking about going back to the provider package.

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

      just use changenotifierprovider as you said.. it won't be deprecated, he just advises it because you can forget to notify of changes and it can get messy if you don't know what you're doing or the object gets too big

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

      @@Pandazaar Thanks! I've already decided to use riverpod and, up to now, I'm very satisfied with it! I have to withdraw my statement that it is only suitable for small projects.

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

    what is ur vs theme

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

      u found it?

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

      @@Malaq4822 is it ayu dark?

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

      @@loopassembly One Dark Pro

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

      @@Malaq4822 ty man

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

    Reso your tutorials would be 100x better if you'd speed up a little bit.