Flutterの初期フォルダとファイルの意味・役割を説明する

プログラミング

こんにちは。Flutterでアプリ開発をしているしんばいちです。

本日はFlutterの初期プロジェクトの各ディレクトリの役割を解説します。

Flutterアプリはプロジェクト作成時からAndroidとiOSのディレクトリが入り乱れて複雑なため、ハマっている方は参考にしてください。

また、他にも普段の生活で役立つテクニックをご紹介していますので興味のある方は以下のリンクからご覧ください。

/libディレクトリ

/libディレクトリはFlutterのメインのコードを格納するディレクトリです。

主にこのディレクトリの下に新規の.dartファイルを作成します

ディレクトリ名がdartファイルと何の関連性もないため注意してください。

main.dartファイル

初期プロジェクトの作成時にlibディレクトリの下にmain.dartファイルがあります。

このファイルがアプリ実行時に一番最初に読み込まれる重要なファイルになります。

具体的にはこのmain.dartファイルのbuild(BuildContext context)関数がアプリ実行時に呼ばれます。

build関数の中にアプリの最初の画面のデザインやその先の画面遷移を記載していってください。

/pubspec.yamlファイル

ルートディレクトリの直下にあるpubspec.yamlファイルはライブラリの追加の際などに使うFlutterの設定ファイルです。

基本的にはmain.dartとpubspec.yamlをいじれば事が足りるほど重要なファイルです。

Flutter関連の設定はpubspec.yamlと覚えておきましょう。

pubspec.yamlファイルで設定できる項目

name

nameの項目ではアプリの名前を設定できます。

Google Play StoreやApp Storeへのリリース用idに使われるため、アンダースコアつなぎ(スネークケース)で記載してください。

version

アプリのバージョンを指定します。+の後ろの数字はビルド番号です。

新しいアプリをアップロードする際には必ず以前アップロードしたバージョンやビルド番号と異なるバージョン・ビルド番号のアプリファイルを上げる必要があるため番号を上げるようにしてください。

environment

プロジェクト内の環境変数を設定する箇所です。

デフォルトでdart sdkのバージョン(sdk:)が定義されています。

null-safety対応バージョンに移行する時などdartのsdkのバージョンを変更する際に使用してください。

dependencies

プロジェクトに外部ライブラリを追加する際に使用する箇所です。

こちらに追加したいライブラリ名とバージョンを記載するとコード内でライブラリが使えるようになります。

記載形式に関しては各ライブラリのReadmeを参考にしてください。

また注意点としてライブラリが使用できるようにするには記載を行った後にflutter pub getコマンドを実行する必要があります。

ターミナル上で忘れずflutter pub getコマンドを実行するようにしてください。

/android/app/src/main/ディレクトリ

FlutterでのAndroidのコードを記載するディレクトリです。

MethodChannelを使用し、dartファイルからkotlinのコードを実行する際にはこちらのディレクトリを使用してください。

/ios/Runner/Base.lproj/ディレクトリ

FlutterでのiOSのコードを記載するディレクトリです。

同じくMethodChannelを使用し、dartファイルからswiftのコードを実行する際にはこちらのディレクトリを使用してください。

まとめ

今回はFlutterプロジェクトのディレクトリ構成について紹介しました。

Flutterは1つのコードでAndroid, iOSの複数のプラットフォームのアプリが作れる分、初期のプロジェクト内のディレクトリ構成が深くわかりづらいです。

アプリを作る際には是非参考にしてください。

また、他にも普段の生活で役立つテクニックをご紹介していますので興味のある方は以下のリンクからご覧ください。

コメント