はじめに
この記事はFlutter初心者の筆者が学習のために書いている記事です。
間違っていたら温かくご指摘いただけるとありがたいです。
Flutterのフォルダ構成
Flutterはマルチプラットフォームで動くアプリを作れるので、フォルダ構成にも意味があります。
それぞれどんな役割なのかをみていきたいと思います。
.
├── android ← Android用のフォルダ
├── ios ← iOS用のフォルダ
├── lib ← 共通ソース用のフォルダ
├── linux ← Linux用のフォルダ
├── macos ← mac用のフォルダ
├── test ← テストコード用のフォルダ
├── web ← Web用のフォルダ
├── windows ← Windows用のフォルダ
├── README.md
├── analysis_options.yaml
├── flutter_app.iml
├── pubspec.lock
└── pubspec.yaml ← パッケージ管理
各プラットフォーム用のフォルダと、共通で使うフォルダに分かれています。
libとtestが共通で使うフォルダです。
以上をまとめると、Flutterでの開発手順は以下のようになりそうですね。
- プラットフォーム依存しない処理を、libやtestで開発
- プラットフォーム依存の独自処理などを各プラットフォームフォルダで開発
最後に
フレームワークを使っていると、「この処理をどこに作れば良いのか」ってことがたまにあるんですが、ここまで明確に区分けされていると開発者としてもありがたいですね。フレームワークが意図するところがはっきりと伝わってくる感じです。