Riverpod 2.0 - Complete Guide (Flutter Tutorial)

Поділитися
Вставка
  • Опубліковано 21 кві 2022
  • 📗 Learn from the written tutorial 👇👇
    resocoder.com/riverpod-2-tuto...
    🚨 🧑‍💻 Become a top-tier developer with the Flutter Developer Bootcamp:
    resocoder.com/fdb
    📧 Get Flutter news and resources:
    👉 flutter.education
    If you’ve been at least a bit active when it comes to Flutter packages in the last year or so, you’ve surely heard about Riverpod, a reactive caching and data-binding, or as some would say, state management package that is sort of an upgrade of the beloved Provider. I actually covered it with a tutorial quite some time ago when its API was still unstable.
    Riverpod has come a long way since then - it’s much more mature, helpful, and versatile. All these changes naturally mean that it’s time for a new tutorial to prepare you to fully utilize the power of Riverpod 2.0 and, most likely, also its upcoming versions.
    Go to my website for more information, code examples, and articles:
    ● resocoder.com
    Follow me on social media:
    ● / resocoder
    ● / resocoder
    ● / resocoder

КОМЕНТАРІ • 161

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

  • @Outlines
    @Outlines 8 місяців тому

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

  • @amitjangra4416
    @amitjangra4416 Рік тому +13

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

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

  • @_Amilio_
    @_Amilio_ 2 роки тому +2

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

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

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

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

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

  • @prashlovessamosa
    @prashlovessamosa Рік тому

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

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

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

  • @fzzz9024
    @fzzz9024 Рік тому

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

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

    This tutorial made me smile. Thank you for this.

  • @highbeekayoduro1521
    @highbeekayoduro1521 4 місяці тому

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

  • @Dieterbe
    @Dieterbe Рік тому

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

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

    Thank you for sharing full guides like this

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

    Excellent - able to understand the concepts deeper , thanks

  • @MaoRecords
    @MaoRecords Рік тому

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

  • @glrbrasil
    @glrbrasil Рік тому

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

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

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

  • @RandalLSchwartz
    @RandalLSchwartz 2 роки тому +20

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

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

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

  • @srinivasrg5125
    @srinivasrg5125 3 місяці тому

    Super great tutorial! Thank You!

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

    What a perfect timing 🌹💛

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

    Yay Reso Coder is back!! :D

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

    thanks, this is more of an eye opener

  • @anmolsharma9539
    @anmolsharma9539 Рік тому +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 :)

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

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

  • @hongphuclevo2138
    @hongphuclevo2138 2 роки тому +2

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

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

    Genial! You back! Keep it up!

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

    Great man! Thank you so much 🥰🙏

  • @Baraka0369
    @Baraka0369 2 роки тому +20

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

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

    Great tutorial!

  • @cosmic_pixel
    @cosmic_pixel Рік тому

    This was amazing ❤

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

    awesome work man!

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

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

    After so many days ❤️

  • @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?

  • @seatconnect224
    @seatconnect224 8 місяців тому

    good tutorial, thanks

  • @miriamramstudio3982
    @miriamramstudio3982 Рік тому

    Great video. Thanks!!!

  • @hasanibrahim4887
    @hasanibrahim4887 Рік тому

    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

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

    Great job 👍👍👏👏

  • @mateenmehmood5675
    @mateenmehmood5675 Рік тому

    Riverpod is amazing. 2ndly Bloc

  • @user-nu2nj7mf2z
    @user-nu2nj7mf2z 2 роки тому

    Finally I see your new video

  • @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 10 місяців тому

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

  • @subrotoxing8214
    @subrotoxing8214 2 роки тому +5

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

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

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

    thanks for the content ♥

  • @gogalcloud
    @gogalcloud Рік тому

    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 ?

  • @user-lr6px8bq4n
    @user-lr6px8bq4n Рік тому

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

  • @sankethb.k642
    @sankethb.k642 2 роки тому +1

    Feels so good to see you back

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

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

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

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

  • @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?

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

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

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

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

  • @mandeno4063
    @mandeno4063 Рік тому

    good work

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

    Thanks bro!

  • @oussamaberhili
    @oussamaberhili 9 місяців тому

    thanks man

  • @EhamPala
    @EhamPala 9 місяців тому

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

  • @AnalyticalAyush
    @AnalyticalAyush Рік тому

    Can anyone tell me how to the linkage of brackets on VS Code, like in the tutorial I can see that there's a white linkage between containers and child just like android studio. How to get that in vs code?

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

    how to handle form validation using riverpod??

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

    Love from Nepal

  • @doulainc.498
    @doulainc.498 2 роки тому

    What! This is really great tutorial. Holy f

  • @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?

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

  • @faisalmushtaq2287
    @faisalmushtaq2287 Рік тому

    Can u do clean architecture using riverpod.

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

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

  • @_3clipse_
    @_3clipse_ 5 місяців тому

    Compile time safety... you won me already

  • @dev.floody
    @dev.floody 2 роки тому

    What font you use?

  • @tbnh3908
    @tbnh3908 Рік тому +2

    hello are you still there?

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

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

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

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

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

  • @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 Рік тому +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.

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

    What's the font name of vscode?

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

    Would you mind indexing the video?

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

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

  • @yasseralsaidi
    @yasseralsaidi Рік тому

    Riverpod 2.0 released today, any update here?

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

  • @GeekyLOAF
    @GeekyLOAF Рік тому

    make a video on the extensions you are currently using

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

    I love the voice now much better

  • @ozbekchajavascript1209
    @ozbekchajavascript1209 Рік тому +1

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

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

  • @geenews6207
    @geenews6207 Рік тому

    Why you shifted from Unity game development to Flutter?

  • @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?

  • @telostia
    @telostia 7 місяців тому

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

  • @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…

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

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

  • @ElVerdaderoAbejorro
    @ElVerdaderoAbejorro Рік тому

    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.

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

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

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

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

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

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

      Create a class

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

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

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

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

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

    I love flutter_bloc.

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

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

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

    Bude pokračovanie ?

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

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

  • @trunghvbk
    @trunghvbk 2 роки тому +2

    like first, watch later

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

    what is ur vs theme

  • @saadmansoor3547
    @saadmansoor3547 Рік тому

    34:38 sounds pretty gangsta to me 🤐

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

    I think everybody would absolutely cream their pants if you could get the developer and interview them :)