Provider to Riverpod AsyncNotifier: A Real Migration with Before & After Code
Recently, I made a decision to change the state management library in my personal app. For a long time, I used Provider and Bloc packages for state management. GetX as well. In medium-scale apps, I...

Source: DEV Community
Recently, I made a decision to change the state management library in my personal app. For a long time, I used Provider and Bloc packages for state management. GetX as well. In medium-scale apps, I prefer using Provider with the MVVM pattern. But I realized that currently in the Flutter community, most developers use Riverpod. I thought that Provider was going to become a legacy skill. Riverpod provides more convenience than Provider, in terms of dependency injection and overall usability. Riverpod doesn't rely heavily on context and the widget tree, and it allows easier testing. My App's Architecture Previously, my app's architecture followed Feature-First and Clean Architecture partially. The reason I designed it that way was that this was a private app and I didn't want to create a lot of boilerplate. But I did want to make this app maintainable and scalable. So even if I see this code again in the future, I can easily read it. On the project root, there was a feature folder, and it