Flutterにおける、pubspec.yaml
ファイルにおける dependencies
と dev_dependencies
の違いは、各依存パッケージがどのような目的で使用されるかに基づいています。
以下にその違いを説明します。
dependencies
- 説明: これはアプリケーションの実行時に必要なパッケージをリストします。これらのパッケージは、アプリケーションの機能や動作に直接関係します。
- 例:
- ユーザーインターフェースの構築に使用されるパッケージ
- データベース操作に使用されるパッケージ
- ネットワーキングに使用されるパッケージ
Dart
dependencies:
flutter:
sdk: flutter
sqflite: ^2.0.0+3
path: ^1.8.0
dev_dependencies
- 説明: これは開発時に必要なパッケージをリストします。これらのパッケージは、テスト、ビルド、コードの生成、デバッグなどの開発支援ツールとして使用されます。アプリケーションの本番実行時には必要ありません。
- 例:
- テストフレームワーク
- コードの整形や解析ツール
- モックライブラリ
Dart
dev_dependencies:
flutter_test:
sdk: flutter
build_runner:
上記を踏まえて、実際のpubspec.yamlの例を以下の挙げます。
Dart
### 実際の例
### 例えば、以下は典型的な `pubspec.yaml` ファイルの構造です。
name: sqlite_example
description: A new Flutter project.
publish_to: 'none' # パッケージの公開先を指定しない
version: 1.0.0+1
environment:
sdk: ">=2.12.0 <3.0.0"
dependencies:
flutter:
sdk: flutter
sqflite: ^2.0.0+3
path: ^1.8.0
sqflite_common_ffi: ^2.0.0+1
dev_dependencies:
flutter_test:
sdk: flutter
build_runner: ^2.1.5
moor_generator: ^4.5.0
flutter:
uses-material-design: true
上記ファイルでは、次のようにパッケージが分類されています。
- dependencies: アプリケーションの実行に必要なパッケージ。
flutter
: FlutterのSDK自体。sqflite
: SQLiteデータベースパッケージ。path
: ファイルパス操作パッケージ。sqflite_common_ffi
: FFIを使ったSQLiteデータベースパッケージ。
- dev_dependencies: 開発中に必要なパッケージ。
flutter_test
: Flutterのテストフレームワーク。build_runner
: コード生成を支援するツール。moor_generator
: Moorライブラリのコード生成ツール。
まとめ
dependencies
はアプリケーションの実行時に必要なパッケージを含む。dev_dependencies
は開発時にのみ必要なパッケージを含む。