以下の開発環境で動作確認を行っています。
[✓] Flutter (Channel stable, 3.19.6, on macOS 14.4.1 23E224 darwin-arm64, locale ja-JP)
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0-rc3)
[✓] Xcode - develop for iOS and macOS (Xcode 15.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.3)
[✓] VS Code (version 1.89.1)
[✓] Connected device (3 available)
[✓] Network resources
Dart SDK version: 3.3.4 (stable) (Tue Apr 16 19:56:12 2024 +0000) on "macos_arm64"
以下のコマンドでコードの生成とパッケージの取得を行ってください。
# コード生成
flutter gen-l10n
# パッケージの取得
flutter pub get
ビルドする前に環境変数を設定するためにdev.envという名前のファイルを作成します。 以下のように書いてください。
# DevicePreviewの有効化
ENABLED_DEVICE_PREVIEW=false
# GitHubのトークン
GITHUB_TOKEN="hoge"
以下のコマンドを実行してアプリをビルドします。
flutter run --dart-define-from-file=dev.env
flutter pub run build_runner build -d
以下の技術を使って開発した。
カテゴリ | 説明 |
---|---|
ローカライズ | intl(日本語、英語) |
状態管理と DI | riverpod |
データモデル | freezed |
API クライアント | dio |
画面遷移 | go_router |
markdown関連 | flutter_markdown、markdown |
画像cache | cached_network_image |
テーマ設定 | flex_color_scheme |
アニメアニメーション | simple_animations |
Flavor設定 | --dart-define-from-file |
プレビュー | device_preview |
CI | GitHub Actions |
テスト | mocktail |
├── features 機能単位のディレクトリ
│ └── <関心こと>
│ ├── menu メニュー関連
│ └── search 検索機能
│ ├── data データ取得用のリポジトリ
│ ├── domain データモデルを定義
│ └── presentation UI関連のWidgetなど
├── l10n ローカライズ用ディレクトリ
├── routing ルーティング設定
└── utils 共通のユーティリティ関数等
Web Deloyの検証はこちらのリンクから行えます:
Web Deloy
🚀 GITHUB_TOKENは公開していないため、Web Deloyではトークンが必要な検索機能を使用できません。
- UI共通化
- Integration テスト
- リリースビルド