第1章
全体像:生成AIとアプリを完成させる
企画から公開後の運用までの全体像と、生成AIに任せる仕事・人が判断する仕事を整理します。
この章で学ぶこと
- アプリ開発を「企画・実装・公開・運用」に分ける
- 生成AIが得意な作業と、人が責任を持つ判断を区別する
- この教材で作るサンプルと、完成の条件を確認する
この教材のゴール
この教材では、生成AIを開発を手伝う相手として使い、1つのアプリを次の順で育てます。
課題を決める
↓
利用者と最小機能を決める
↓
Flutterで画面を作る
↓
Firebaseでログイン・データ保存を追加する
↓
テストして公開準備をする
├─ Web: Firebase Hosting
├─ Android: Google Play
└─ iOS: App Store Connect
↓
権限・広告・問い合わせ・更新を運用する
説明では、ログインしたメンバーがアイデアを投稿できる小さなアプリ「Idea Pocket」を例にします。完成版の最小機能は次の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週間で試作する場合の難しさを出してもらいましょう。