Flutter x Riverpod x MVVMで実現するシンプルな設計(Firebase, WebAPI対応)
What you'll learn
- FlutterでシンプルなGUIを実現するための方法
- Riverpodの基本的な使用方法
- RiverpodでMVVMを実現する方法
- Flutterでテストしやすいソースを作成する方法
- Flutterの基本的なテスト方法
- FlutterのMockを使用してテストする方法
Requirements
- Flutterの基礎知識 (Widget, StatelessWidget, StatefulWidget)があること
- Flutterの開発環境があること
Description
Flutterでアプリの作成をしてます!以前はsetStateやBLocで状態管理してアプリを開発していました。しかし、どうにも拡張性が低くなって、メンテが難しくなってしまいました。
もっと便利な物はないかと調べると、最近は日本ではRiverpodが主流、ということで、使用してみました。WEBページなどで調べて、一通りマスターしましたが、どうにも綺麗に書けません。JavaFX(JavaのGUIライブラリ)では、もっと気持ちよく書けてたのに!ということで、MVVMパターンを使えば、モデルとビューをうまく切り分けられないかと試行錯誤しました。結果、いい感じにまとめることができました!
この講座では、Riverpodの基本的な使用方法を勉強します。それだけでなく、Riverpodを使用して、MVVMパターンを実現し、ロジックとビューを切り離し、メンテしやすい実装方法を学習します。ロジックとビューを切り離すことは、それぞれ実装できるだけがメリットではありません。それぞれでテストすることが可能になりました。Unit Test、Widget Test、Flutter Golden Testを使用して、内部的にも、外観的にもテストする方法も紹介してます。外からデータを与えたり、Mockを使うテスト手法も紹介してます。
またFirebaseのFirestoreからデータを追加し、riverpodで表示する方法や、WebAPIからのデータをriverpodで表示する方法も分かります。
Riverpod初心者の方はもちろん、中級者の方(ご意見、お待ちしてます)にも参考になると思います!ソースは全て閲覧可能ですので、ご自身の開発に役に立ててください!一緒に綺麗なソースを書いていきましょう!
【履歴】
2021/11/07 riverpod 1.0.0のリリースに伴い、講座との差異の講座を追加しました。ソースは修正しました。
2022/03/26 FutureProviderを使って、MVVMを実装する方法を更新しました。
Who this course is for:
- Flutterの状態管理を探している人
- Flutterでソースがごちゃごちゃしちゃう人
- Flutterでポリモフィズム(多態性)をマスターして、中級プログラマになりたい人
Instructor
さくしんと申します。
コンピュータサイエンスの大学の修士まで進み、2社のシステム開発会社、2社にて社内SEとして働いてきました。
個人でもFlutterにてアプリ開発をしております。
実際の開発現場での経験を基に、皆様のプログラムスキルアップに貢献させてください!