小〜中規模程度の Flutter プロジェクトにおけるフォルダ構成について
フォルダ構成について
プロジェクトの初期やグロースするタイミングでは結構大きめの変更なども多いので、「極力シンプルに、かつ最低限のルールは守られるように。」という観点で、以下のようなフォルダ構成で開発を始めます。
lib - ui - component/ - page_name/ - hoge_page.dart(ページそのもの) - hoge_view_model.dart(ファイル名の通り。providerのChangeNotifierを継承したクラス) - fuga.dart(hoge_page.dartで使用するviewなど) - model/ - utils/ - constants/
もっときっちりやるのであれば
開発の人数が増えてきたり、プロダクトとして安定してきたタイミングなどで、よりきっちりやるのであれば、wasabeef/flutter-architecture-blueprints を参考にしてやろうと思っています(まだ私のプロダクトは検証が多く、頻繁に大きめの変更が入ったりしているのでいつになるのかはわかりませんが....)。