新規にFlutterプロジェクトを作成したときには、プロジェクトフォルダの中に自動的にたくさんのフォルダとファイルが作成されます。
その全てが何者かを理解する必要はないけど、その中のひとつ、プロジェクトフォルダの直下に作成される pubspec.yaml ファイルにはsdkのバージョンや使用するパッケージの情報などを記述する、とても重要なファイルです。
このpubspec.yaml ファイルの拡張子の最後は “ML” となっているけど、マークアップ言語というわけではありません。
ファイルを開いて見ると、ただのインデントされた箇条書きに見えてしまう。
だけど、このインデントでいくつ下げるかというのは、ルールで決まっていて大きな意味があります。
なので、無造作に書いてはいけません。
インデントは、階層ごとに半角スペースを2個ずつ下げて揃えて書きます。
この記事の pubspec.yaml のコード表示では、1文字分しか下がっていないように見えるけど、実際は2文字ずつ下げます。
かいつまんで、説明します。
(後日、少しずつ書き足します…)
pubspec.yamlの役割
pubspec.yamlは、プロジェクトの設定ファイルです。
パッケージマネージャーとしての役割もあります。
このpubspec.yamlの中にはプロジェクトで使うsdkのバージョンやパッケージの他、Flutter専用の記述として、画像ファイルの保存場所、フォントの情報も書いておきます。
新規にプロジェクトを作成すると自動的に作成されるこの pubspec.yaml ですが、デフォルトではほとんどの行の先頭に#がついています。
この#はコメント行です。
assets: や fonts: の行は、入力パターンのサンプルになっているので、ここは実際の入力のときに # だけ削除して雛形として使えます。
environment:
environment:
sdk: ">=2.7.0 <3.0.0"
このプロジェクトで使うDart SDKのバージョンです。
利用するパッケージは、このバージョンに対応していなければいけません。
dependencies:
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.0
moor: ^3.4.0
sqlite3_flutter_libs: ^0.4.0+1
path_provider:
path:
プロジェクトで利用するパッケージと、そのバージョンをここに書いておきます。
cupertino_icons: の行まではデフォルトで入ります。
上の例では、DBを扱うパッケージ「Moor」を入れています。
バージョンは、何も書かなければ最新バージョンを使うというのが、基本の決まりごとですが、ちゃんとバージョン指定をしておかないと、エラーが出るパッケージもあるようです。
dev_dependencies:
dev_dependencies:
flutter_test:
sdk: flutter
moor_generator: ^3.4.0
build_runner:
このエリアも、利用するパッケージを記述しておくエリアです。
dependenciesとの違いは、「dev_dependencies: は、開発中にだけ使うパッケージを記述する」という点です。
上の例では、Moorを使うために開発中にのみ動かすツールとして必要な moor_generator と build_runner を記述しています。
dependenciesとdev_dependenciesを使い分けることで、Pub getしたときの処理スピードが、ちょいと早くなります。
flutter: 以降の記述
flutter: 以降には、Flutterに関連することを記述します。
マテリアルデザインを使うとき
uses-material-design: true
マテリアルデザインを使いたいときは、このuses-material-design: true の記述が必要です。
デフォルトで、flutter: の下に既に記述されています。
画像フォルダ・画像ファイル
assets:
- assets/images/
プロジェクトで使う画像の場所を書いておきます。
フォルダ単位、ファイル単位の両方で指定できます。
書き方のサンプルがコメント行としてあるので、それを利用する方が間違いなく書けます。
flutter: の下の階層にある assets: の行の先頭の # を削除して、次の行から画像ファイル名(またはフォルダ名)を書きます。
フォルダを丸ごと指定するときは、フォルダ名の最後に/(スラッシュ)を付けます。
上の例は、プロジェクトフォルダ直下に assets フォルダを作り、その中の images フォルダを指定しています。
インデントも忘れずに揃えておきます。
フォント
fonts:
- family: Mont R
fonts:
- asset: assets/fonts/Montserrat-Regular.otf
プロジェクトで使うフォントの設定です。
フリーフォントを使う場合など、otfやttfファイル名を書いておきます。
この fonts: も、flutter: の下の階層に入力サンプルがあるので、それを利用できます。
fonts:の行の先頭の # を削除して、次の行からフォントの情報を書きます。
family: には、プロジェクトでフォントを指定するときに指定する、任意の名前(上の例では「Mont R」)を記述します。
YAMLの読み方は?
拡張子のYAMLの読み方は、「ヤムル」や「ヤメル」などと読むようです。
どっちかというと、ヤムルと読む人の方が多いのかも。
プログラムするときに読み方を知らないと困るってことはないけど、自分の読み方が正しいかどうかは、なんとなく気になるもんで…
コメント