🙆♂️
Riverpod,FlutterHooks,ChangeNotifierを使ったMVVMアーキテクチャを学ぶ
はじめに
をコードリーディングしたので、その際のメモ書きです。
flutter-architecture-blueprints とは
wasabeef さんが書いた 「FlutterでRiverpodを使ったMVVM設計のコード」 です。
RiverpodやFlutter Hooksを使って書かれています。
ViewModel は ChangeNotifier を使用しています。
RiverpodやFlutter Hooksは世に出て日が浅いので、ネットを見渡しても 情報は少ない です。
ですので、「flutter-architecture-blueprints」はRiverpodやHooksを学ぶための、貴重な情報源 です。
wasabeefさんによる説明
#0 Flutter の設計を決める
コードを読んだ感想
Riverpodを使ったモダンなFlutterアプリ開発の理解を深めるのに参考になりました。
学びが深かった点としては、以下です。
- Riverpod, Hooks, ChangeNotifierでのMVVM、DIのやりかた
- Hooksの使い方(useProvider, useMemorize, useFuture)
- freezedを使って状態のイミュータブル化
- Dioを使ってのAPI呼び出し周り
- ネットワークリソースとローカルリソースの切り替え
- Theme管理(light and dark themes切り替え)
- Mockitoを使ったテストの書き方
- deployment/flavor切り替え
- GitHubActions/Bitrise/Codemagicを使ったCI周り
新規にFluttrerアプリを作るのであれば
「flutter-architecture-blueprints」をテンプレのベースにして開発するのが良いと感じました。
wasabeefさんによるMVVM設計の説明
Flutter を MVVM で実装する
Discussion