Search code examples
flutterflutter-dependenciesriverpod

Why do we use RiverpodGenerator


What is the point of using RiverpodGenerator or Freezed as I understand we could just do CRUD operations to implement our data using models. But why, when and how do we use RiverpodGenerator?


Solution

  • RiverpodGenerator and Freezed have completely different uses.

    If we are talking about RiverpodGenerator, it solves some problems (compared to the classical definition):

    • a clearer syntax based on classical functions
    • pass as many parameters as needed + both positional and named parameters are available. In the past, we limited ourselves to the family
    • stateful hot-reload of the code written in Riverpod

    If we're talking about Freezed, it's for:

    • easy and quick immutability of objects
    • immediately overridden hashcode/==
    • Matching in different styles

    That said, it's very flexible right now. The modifier @Freezed(...) allows you to redefine almost completely the result of generation.

    All of this may soon fade into oblivion. And to date, the developers of Dart are actively working on it.