- Riverpod : 状態管理パッケージ,コンパイル時のエラー検知や無駄なクラスのネストを回避できる
- State Notifier : 状態値をimmutableに扱うためのパッケージ
- freezed : State Notifierをより簡素に実装するためのパッケージ
- freezed_annotation
- build_runner
- SQLite
- Moor : SQLiteとAppを繋ぐパッケージ,DB操作とかが楽になる
- Navigator 2.0 : 宣言的な遷移の実装ができるパッケージ
- 2022/3/6 Naivigator 2.0 がわかりにくいので,それをラップしたパッケージであるRoutemasterを利用しています
MVVMを採用
flutter-architecture-blueprintsなどを参考に構築
Null Safetyを採用
Sound null safety in Dart
Null safety in Flutter
概要
- view : Widgetの描画
- view_model : viewで受け取った入力の処理
- model : view_modelで扱うクラスの管理
- repository : 保存データへのアクセス管理
- local : ローカルデータとの通信処理
- remote : リモートデータとの通信処理
基本的にはEffective DartとStyle guide for Flutter repoに従う
実際にあったミス
- リストの要素,Widgetツリー,オプション引数の最後の要素にカンマをつけてない
Widget( childlen: [ Widget1(), Widget2() // ここのカンマ(,) ] // ここも );