第1章

全体像:生成AIとアプリを完成させる

企画から公開後の運用までの全体像と、生成AIに任せる仕事・人が判断する仕事を整理します。

この章で学ぶこと

  • アプリ開発を「企画・実装・公開・運用」に分ける
  • 生成AIが得意な作業と、人が責任を持つ判断を区別する
  • この教材で作るサンプルと、完成の条件を確認する

この教材のゴール

この教材では、生成AIを開発を手伝う相手として使い、1つのアプリを次の順で育てます。

課題を決める
  ↓
利用者と最小機能を決める
  ↓
Flutterで画面を作る
  ↓
Firebaseでログイン・データ保存を追加する
  ↓
テストして公開準備をする
  ├─ Web: Firebase Hosting
  ├─ Android: Google Play
  └─ iOS: App Store Connect
  ↓
権限・広告・問い合わせ・更新を運用する

説明では、ログインしたメンバーがアイデアを投稿できる小さなアプリ「Idea Pocket」を例にします。完成版の最小機能は次の4つです。

  1. メールアドレスなどでログインできる。
  2. タイトルと本文を入力してカードを保存できる。
  3. 自分のカードを一覧表示・削除できる。
  4. Web、Android、iOSで同じデータを利用できる。

この題材を自分のアプリへ置き換えてかまいません。ただし、最初からチャット、課金、通知、管理画面、複数のログイン方式を全部入れないでください。最初の公開に必要な価値を1つに絞ります。

生成AIに任せやすい仕事

作業 生成AIへの頼み方の例 人が確認すること
アイデア整理 「対象者、困りごと、最小機能を表にして」 本当に解決したい課題か
画面設計 「3画面以内の遷移案を出して」 操作が迷いにくいか
実装 「この仕様と既存コードに合わせて変更して」 差分、エラー処理、権限
テスト 「失敗しやすい境界値を列挙して」 実機や公開環境でも再現するか
説明文 「ストア説明文の下書きを作って」 誇張、規約、実際の動作との一致
調査 「公式資料を優先して候補を比較して」 情報の日付と一次情報

生成AIの出力は提案です。ビルドが通ること、利用者のデータを守れること、ストアの申告内容が正しいことは、公開するチームが確認します。

生成AIへ渡してはいけないもの

  • パスワード、二段階認証コード、復旧コード
  • Androidのkeystore、鍵パスワード
  • App Store Connect APIの秘密鍵(.p8)
  • サービスアカウントの秘密鍵JSON
  • 本番利用者の氏名、メール、問い合わせ本文などの個人情報
  • .envや設定ファイルに入った秘密値

エラーを相談するときは、秘密値をREDACTEDへ置き換えます。FirebaseのWeb APIキーのようにアプリへ含める識別情報もありますが、「公開される値」と「秘密にする認証情報」を自己判断で混同せず、各サービスの公式説明を確認します。

完成の条件を先に決める

コードを書き始める前に、次のチェックを満たしたら「最初の版は完成」と決めます。

  • 新しい利用者が説明なしで主要操作を完了できる。
  • 認証していない利用者や別の利用者が、他人のデータを変更できない。
  • 自動テストと、Web・Android・iOSの実機確認を行った。
  • プライバシーポリシー、問い合わせ先、データ削除方法がある。
  • 開発用と本番用の接続先を取り違えない。
  • 公開後にエラーを確認し、更新版を出す担当者が決まっている。

この教材の読み方

Flutterコースで環境構築と基本操作を先に体験しておくと、実装部分を進めやすくなります。この教材では、Flutterそのものの文法を一から繰り返すのではなく、企画から配布までをつなぐ判断に重点を置きます。

ストア画面、料金、審査要件は変わります。本文のボタン名が画面と少し違う場合は、リンク先の公式資料を確認してください。コマンドを実行する前にはgit statusを確認し、作業単位でコミットします。

やってみよう

作りたいアプリを1つ選び、次の1文を完成させてください。

このアプリは、[利用者]が[困っている場面]で、[一番大切な操作]をできるようにする。

まだ決められない場合は、その状態を生成AIへ伝え、候補を3つと、それぞれを1週間で試作する場合の難しさを出してもらいましょう。