Newer
Older
MiniTias / docs / 02_ENV / ENV_01_技術スタック.md

技術スタック (Tech Stack)

概要 (Overview)

MiniTIAS は Flutter を用いたクロスプラットフォームモバイルアプリケーションである.初期段階では Android のみを対象とし,将来的に iOS 等への展開を視野に入れる.

試験端末 (Test Device)

項目
端末名AQUOS sense3(SH-02M)
OSAndroid 9 Pie(Android 10 にアップデート可能)
インカメラ800 万画素
RAM / ROM4GB / 64GB

フレームワーク・言語 (Framework & Language)

要素選定理由
フレームワークFlutter(最新 stable)将来的なクロスプラットフォーム対応のため
言語DartFlutter の標準言語
対象 OSAndroid試験端末が Android のため.初期は Android のみ
minSdkVersion21(Android 5.0)Flutter のデフォルト.AQUOS sense3(API 28)で問題なし

主要パッケージ (Key Packages)

パッケージ用途備考
cameraインカメラのライブプレビュー・撮影Flutter 公式プラグイン
image撮影画像の PNG エンコードJPEG → PNG 変換に使用
path_providerアプリ内ファイルパスの取得保存先ディレクトリの参照に使用
permission_handlerカメラ・ストレージの権限管理Android の実行時権限リクエスト
provider状態管理Flutter 公式推奨.シンプルかつ拡張しやすい
screen_brightness画面の輝度制御アタッチメント装着時の明るさ調整に使用

※ パッケージバージョンは環境構築時に最新 stable を採用し,pubspec.yaml で管理する.

共有ストレージ保存 (Shared Storage)

画像の保存先は Pictures/MiniTIAS/(Android 共有ストレージ)とする.Android 10 以降の Scoped Storage 制約により,path_provider では共有ストレージに直接書き込めない.保存方法は以下のいずれかを環境構築時に検証・確定する.

  • saver_gallery 等の既存パッケージを利用
  • Platform Channels で Android の MediaStore API を直接呼び出し

状態管理 (State Management)

provider パッケージを使用する.画面数が少なくシンプルな構成のため,大規模な状態管理ライブラリは導入しない.

静的解析 (Static Analysis)

Dart 標準のリンター(analysis_options.yaml)を使用する.Flutter プロジェクト作成時に生成されるデフォルト設定をベースとし,プロジェクト固有のルール追加は規約整備フェーズで定義する.

役割分担 (Role Distribution)

処理実行場所備考
撮影・ライブプレビュースマホ(Flutter アプリ)インカメラ使用
画像保存(PNG)スマホ(Flutter アプリ)共有ストレージに保存
データ転送USB 接続PC からフォルダを直接参照
キャリブレーションPCカラーバーを用いた色補正
色変換・解析PCL*a*b* 変換,色差計算等

開発環境 (Development Environment)

要素選定備考
IDEVS CodeFlutter / Dart 拡張機能を使用
Flutter SDK最新 stableDart SDK 同梱
Android SDKAndroid Studio 経由で導入ビルドツール・エミュレータを含む
JDKFlutter 推奨バージョンAndroid ビルドに必要
ADBAndroid SDK 同梱USB 経由の実機デバッグに使用
バージョン管理Git + GitHubgh CLI で PR 管理
CI/CD初期段階では導入しない

VS Code 拡張機能 (VS Code Extensions)

拡張機能用途
FlutterFlutter 開発統合(ビルド,デバッグ,ホットリロード等)
DartDart 言語サポート(補完,解析,フォーマット等)

環境の再現性 (Environment Reproducibility)

別の PC への移行を容易にするため,以下の方針で環境をコード化する.

リポジトリで Git 管理するもの:

ファイル役割
pubspec.yamlDart パッケージとバージョンの管理
.vscode/extensions.json推奨 VS Code 拡張機能の定義
.vscode/settings.jsonプロジェクト固有の VS Code 設定

SDK のインストール自動化:

  • Windows パッケージマネージャー(Scoop)を使用し,セットアップスクリプトで SDK 類を一括インストールする
  • 対象: Flutter SDK,Android Studio,Git,GitHub CLI 等
  • スクリプトはリポジトリに含め,ENV_02_環境構築手順.md で手順を説明する

環境セットアップの流れ:

  1. git clone でリポジトリを取得
  2. セットアップスクリプトを実行(SDK 一括インストール)
  3. flutter doctor で環境の過不足を確認
  4. VS Code が推奨拡張機能のインストールを提案

※ 詳細な環境構築手順は ENV_02_環境構築手順.md に記載する.