TEXTBOOK SECTION / AI LEARNING

こんなアプリあったら面白くない?

Flutterアプリケーション開発概論の「実務で使えるFlutterアプリとは」より、こんなアプリあったら面白くない?を解説。生成AI、AI活用、DX、業務改善を実践しながら学べるオンライン教材です。

第1節実務で使えるFlutterアプリとはFlutter / iOS / Android / MacOS / Windows / 基礎から学ぶ / 開発 / アプリ開発

OVERVIEW

この節で学べること

概要を表示する
項目内容
教材名Flutterアプリケーション開発概論
章実務で使えるFlutterアプリとは
節こんなアプリあったら面白くない?
カテゴリFlutter / iOS / Android / MacOS / Windows / 基礎から学ぶ / 開発 / アプリ開発
学習内容生成AI、AI活用、DX、業務改善を実践しながら理解するための教材です。

TABLE OF CONTENTS

目次

目次を表示する

CONTENT

ここから

1. 今日のテーマ

今日は、いきなりFlutterのコードを書く授業ではありません。

まず考えてほしいことがあります。

「アプリを作る」とは、何を作ることなのでしょうか?

画面を作ること?

ボタンを動かすこと?

ログインできるようにすること?

実際のアプリ開発では、それだけでは足りません。

今日は、自分でアプリを企画しながら、

「この機能を実現するには、裏側で何が必要なのか?」

を探していきます。


2. 今日のゴール

今日の授業が終わったとき、次のことができる状態を目指します。

  1. 作ってみたいアプリを企画できる
  2. アプリに必要な機能を整理できる
  3. Flutterだけでは作れない部分を説明できる
  4. Database・Authentication・Storageなどの役割を説明できる
  5. 必要なサービスを自分で調べられる
  6. 「どこにお金がかかりそうか」を発見できる
  7. 自分のアプリの簡単なシステム構成図を作れる 今日のゴールは、

「Flutterを覚える」ではなく「アプリ全体を見る」こと。

です。


3. 今日のミッション

突然ですが、あなたはアプリ開発チームのメンバーになりました。

依頼主から、こんな相談が来ています。

「若い人が使いたくなる、新しいアプリを作ってください。」

そして、開発費として、

100万円

を渡されました。

ただし、条件があります。

  • スマートフォンで使えること
  • 誰かの問題を解決すること
  • 実際に公開することを想定すること
  • 予算には限りがあること
  • 作って終わりではなく、運用できること さて、何を作りますか?

4. 実習① 100万円あったら何を作る?

まずは自由に考えてみましょう。

完成度は気にしなくて構いません。

STEP 1:テーマを選ぶ

例えば、

  • 学校生活
  • ゲーム
  • 音楽
  • スポーツ
  • ファッション
  • 推し活
  • SNS
  • イベント
  • 旅行
  • 飲食
  • アルバイト
  • 就職活動
  • フリマ
  • 勉強
  • 健康
  • その他

自分が興味を持てるものを選びます。


5. STEP 2:誰の問題を解決する?

良いアプリを考えるとき、

「何を作る?」

から始める方法もあります。

しかし、実務では、

「誰の、どんな問題を解決する?」

から考えると整理しやすくなります。

例えば、

学生
↓
空き教室が分からない
↓
空き教室検索アプリ
イベント参加者
↓
受付に時間がかかる
↓
QR受付アプリ
旅行者
↓
観光地が混雑している
↓
混雑回避アプリ
就活生
↓
応募した会社の管理が大変
↓
就活管理アプリ

6. 自分のアイデアを書いてみよう

アプリ名:

誰が使う?:

その人は何に困っている?:

このアプリを使うとどうなる?:

一番重要な機能:

その他に欲しい機能:

7. GAME 1

アプリ企画ガチャ

ここからゲームです。

自分でアプリを思いつかなかった人も大丈夫です。

3種類のカードを組み合わせてアプリを考えます。


8. CARD A:誰が使う?

好きなものを1つ選ぶ、または先生から指定してもらいます。

番号ユーザー
1高校生
2専門学生
3大学生
4観光客
5ゲーマー
6アーティスト
7飲食店
8イベント参加者
9就活生
10スポーツをする人

9. CARD B:何を解決する?

番号課題
1待ち時間を減らす
2お金を節約する
3新しい人とつながる
4情報を簡単に探す
5予約を簡単にする
6売買を簡単にする
7継続できるようにする
8忘れないようにする
9混雑を避ける
10楽しくする

10. CARD C:突然の条件

番号条件
1予算100万円
23か月以内に公開
3開発者は1人
41万人が利用
5写真を扱う
6個人情報を扱う
7課金機能が必要
8通知が必要
9管理者も操作する
10海外でも使われる

11. 3枚を組み合わせてみよう

例えば、

観光客
+
待ち時間を減らす
+
3か月以内

↓

観光地の混雑回避アプリ

別の組み合わせなら、

専門学生
+
新しい人とつながる
+
写真を扱う

↓

同じ趣味を持つ学生を探せるアプリ

さらに、

イベント参加者
+
予約を簡単にする
+
課金機能

↓

イベント検索・予約・チケット購入アプリ

正解はありません。


12. 実習② 企画を30秒で説明する

次の文章を完成させてください。

私たちは、

「________________________」

という人の、

「________________________」

という問題を解決するために、

「________________________」

というアプリを作ります。

13. では、作ってみましょう

アプリのアイデアが決まりました。

Flutterで作っていきましょう。

……

その前に。

少しだけ考えてみます。

例えば、

「イベント予約アプリ」

をFlutterで作るとします。

画面は作れそうです。

イベント一覧

┌──────────────────┐
│ SUMMER MUSIC FES │
│                  │
│ 8月10日          │
│ 名古屋           │
│                  │
│    [予約する]    │
└──────────────────┘

ボタンも作れます。

でも、

「予約する」

を押した後はどうなるのでしょう?


14. 問題① 予約データはどこへ行く?

例えば、

名前:山田太郎
イベント:SUMMER MUSIC FES
人数:2人

という予約が入りました。

この情報を、

どこに保存しますか?

スマートフォンの中?

先生のパソコン?

Excel?

Flutter?


15. 必要なもの① Database

大量の情報を保存・検索・更新するために、

Database

を使います。

例えば、

Users

ID | Name | Email
-------------------
1  | 山田 | aaa@example.com
2  | 田中 | bbb@example.com
Reservations

ID | User | Event | People
---------------------------
1  | 1    | 101   | 2
2  | 2    | 103   | 1

という形で情報を管理できます。


16. 問題② 「山田さん」って本当に山田さん?

アプリに、

山田さんの予約一覧

を表示するとします。

でも、

どうやって山田さんだと判断するのでしょうか?

そこで必要になるのが、

Authentication

です。

日本語では、

認証

と呼ばれます。


17. Authentication

例えば、

  • メールアドレス+パスワード
  • Googleログイン
  • Appleログイン
  • SMS認証
  • Passkey などがあります。

つまり、

あなたは誰?

↓

本人であることを確認

↓

ログイン

という仕組みです。


18. 問題③ 写真はどこに保存する?

次に、

「プロフィール画像を登録できるようにしたい!」

となりました。

写真1枚なら大したことがないように見えます。

でも、

ユーザー10人
↓
写真10枚

ユーザー1,000人
↓
写真1,000枚

ユーザー10,000人
↓
写真10,000枚

となったらどうでしょう?


19. 必要なもの③ Storage

画像や動画などのファイルを保存するために、

Storage

という仕組みを使います。

例えば、

Database
→ 名前・メール・予約情報

Storage
→ 写真・動画・PDF

というように役割を分けます。


20. 問題④ 「予約が入りました」と知らせたい

イベント主催者は、

ずっと管理画面を見ているのでしょうか?

それでは大変です。

そこで、

予約が入りました

と通知したくなります。


21. 必要なもの④ Notification / Email

例えば、

  • Push通知
  • メール
  • SMS などがあります。

しかし、ここで新しい問題が出てきます。

「それ、無料?」

という問題です。

これは後で調べます。


22. 問題⑤ お金を払ってもらいたい

イベント参加費は、

3,000円

です。

「予約する」

だけではなく、

「購入する」

が必要になりました。

必要になるのが、

Payment

決済です。


23. 問題⑥ 運営者はどうする?

アプリ利用者の画面は完成しました。

でもイベント運営者から言われました。

「予約した人の一覧は、どこから見るんですか?」

……

確かに。


24. 必要なもの⑥ 管理画面

ユーザー向けアプリだけではなく、

運営者が使うシステム

も必要になる場合があります。

例えば、

管理画面

本日の予約:132件

[予約一覧]

山田太郎 2名 決済済み
佐藤花子 1名 決済済み
鈴木一郎 3名 未決済

これも開発です。


25. ここまでを整理しよう

最初は、

Flutter

だけだと思っていました。

でも実際には、

Flutter

+ Database
+ Authentication
+ Storage
+ Notification
+ Payment
+ 管理画面

が必要になってきました。

さらに実務では、

Analytics
Monitoring
Backup
Security

なども必要になってきます。


26. GAME 2

「Flutterだけで作れる?」チャレンジ

次の機能を実現するために何が必要か考えてください。


Q1

ユーザーがログインする。

必要なのは?

A. Database
B. Authentication
C. Storage
D. Payment

Q2

ユーザーがプロフィール写真をアップロードする。

必要なのは?

A. Storage
B. Payment
C. SMS
D. Analytics

Q3

商品の購入履歴を保存する。

必要なのは?

A. Database
B. Flutterだけ
C. Push通知だけ
D. Analyticsだけ

Q4

運営会社がすべての予約を確認する。

何が必要になりそう?

A. 管理画面
B. カメラ
C. GPS
D. Bluetooth

27. LEVEL UP

ここまで分かれば、

「アプリを作る」

という言葉の見え方が少し変わってきます。

アプリは、

画面だけではありません。

ユーザーから見えない部分に、たくさんのシステムがあります。


28. 実習③ 自分のアプリを分解する

最初に考えたアプリへ戻ります。

必要な機能を書き出してください。

アプリ名:

【ユーザーができること】

1.
2.
3.
4.
5.


【運営者ができること】

1.
2.
3.
4.
5.

29. 必要なシステムを考える

次の表を埋めます。

構成要素必要?何に使う?
Flutter○アプリ画面
Database
Authentication
Storage
Push通知
Email
SMS
Payment
管理画面
Analytics
Monitoring

分からないものは、

「分からない」

で構いません。

ここから調べます。


30. 調査ミッション

ここからは先生が答えを教えません。

自分で調べます。

実際のエンジニアも、すべてを暗記しているわけではありません。

必要になった技術について、

  1. 調べる
  2. 比較する
  3. 公式情報を確認する
  4. 選択する という仕事をします。

31. 実習④ サービスを探せ!

自分のアプリに必要なサービスを調べてください。

例えば、

Database / Backend候補

  • Firebase
  • Supabase
  • AWS
  • その他

Payment候補

  • アプリストアの課金
  • Stripe
  • その他

Monitoring候補

  • Firebase Crashlytics
  • Sentry
  • その他

知らないサービスが出てきたら、それも調べて構いません。


32. AIも使ってよい

ChatGPTなどの生成AIを使って構いません。

例えば、

Flutterでイベント予約アプリを作りたいです。

必要なシステム構成を、
初心者にも分かるように整理してください。

必要なもの:
・ログイン
・イベント一覧
・予約
・決済
・Push通知
・画像アップロード
・管理画面

それぞれ何のために必要なのかも説明してください。

と質問できます。


33. ただし重要なルール

AIが、

「このサービスがおすすめです」

と言ったからといって、

そのまま採用してはいけません。

特に、

  • 料金
  • 利用規約
  • 制限
  • 無料枠
  • 対応OS
  • セキュリティ
  • サービス仕様

などは変更されることがあります。

そのため、

最後は公式情報を確認する。

これを習慣にしてください。


34. 調査シート

最低3つ調べてみましょう。

やりたいことサービス何ができる?無料枠有料になる条件出典
DB
認証
Storage
通知
決済

全部埋める必要はありません。

自分のアプリに必要なものを優先してください。


35. ここで事件発生

アプリが完成しました。

最初の利用者は、

100人

でした。

問題なく動いています。

運営会社も喜んでいます。

ところが……


36. 翌日

TikTokで紹介されました。

動画が大バズり。

登録者数が、

100人
↓
1,000人
↓
10,000人

になりました。

おめでとうございます。

……

本当に「おめでとう」でいいのでしょうか?


37. GAME 3

「1万人来ちゃった!」ゲーム

あなたのアプリに、

10,000人

が登録しました。

次の項目について、

何が起きそうか予想してください。


38. まずは予想してみよう

次の項目を、

  • 🟢 あまり変わらない
  • 🟡 少し心配
  • 🔴 大きく影響しそう
  • ❓ 分からない の4段階で判定してください。
項目判定なぜ?
Database
Authentication
Storage
Push通知
Email
SMS
Payment
Analytics
Monitoring
管理画面

まだ正解を調べなくて構いません。

まずは予想してください。


39. ケース① 写真が10,000枚

プロフィール画像を1人1枚登録します。

1枚の画像を、

5MB

としましょう。

10,000人なら?

5MB × 10,000人

計算してください。

答え

50,000MB
≒ 50GB

になります。

では質問です。

50GBのデータを保存するのに、お金はかからないのでしょうか?


40. 「保存する」だけではない

画像を保存したら終わりではありません。

ユーザーがプロフィールを見るたびに、

Storage
↓
Internet
↓
Smartphone

と画像が送られます。

つまり、

保存容量だけではなく、データ転送についても考える必要があります。


41. 実習⑤ Storageの料金を調べよう

自分たちが候補にしたサービスについて調べます。

確認するのは、

・無料枠はある?
・何GBまで?
・保存容量に料金はかかる?
・データ転送に料金はかかる?
・無料枠を超えるとどうなる?

です。

必ず公式料金ページを確認してください。


42. ケース② SMS認証を導入しました

あなたのアプリでは、

電話番号を使ったSMS認証を採用しました。

例えば、

新規登録
↓
電話番号入力
↓
SMS送信
↓
認証コード入力
↓
登録完了

という仕組みです。

ここで質問です。

SMSを送るのは無料でしょうか?


43. 実習⑥ SMSの料金を調べよう

次の条件で調べてください。

ユーザー数:10,000人

1人につき:
認証SMSを1回送信

調査する内容:

項目調査結果
使用するサービス
SMS 1通あたりの料金
10,000通の場合
国によって料金は違う?
無料枠はある?
出典

料金は変更される可能性があります。

授業実施時点の公式情報を使ってください。


44. ちょっと待って

あなたは最初、

ログイン機能が欲しい

と考えました。

だから、

SMS認証

を選びました。

でも10,000人になったことで、

「認証方法によってコストが違う」

ことに気づきました。

では、

メール+パスワード

Googleログイン

Appleログイン

SMS

Passkey

では何が違うのでしょうか?


45. MINI GAME

「認証方法を選び直せ!」

自分のアプリに最も適していると思う認証方法を選んでください。

ただし、

「一番高性能だから」ではダメです。

次の観点から考えます。

観点評価
ユーザーが簡単に使える
開発しやすい
運用しやすい
コスト
セキュリティ
自分のユーザーに合っている

46. 選択には「理由」が必要

例えば、

SMS認証を選択します。

理由:
電話番号を中心に利用するサービスだから。

ただし:
SMS送信に従量課金が発生する可能性があるため、
ユーザー増加時の費用を確認する必要があります。

でも構いません。

反対に、

メール認証を選択します。

理由:
今回のアプリでは電話番号を取得する必要性が低く、
SMS送信費用も避けられるためです。

という判断も考えられます。

大切なのは、

「何を選んだか」より「なぜ選んだか」

です。


47. ケース③ AI機能を追加したい!

ここで社長から連絡が来ました。

「最近AI流行ってるよね?」

さて、どうしますか?


48. AIを入れると何が変わる?

例えば、

AIチャット

AI検索

文章生成

画像生成

画像認識

おすすめ機能

などが考えられます。

便利そうです。

しかし、

AI APIなど外部サービスを利用する場合、

ユーザー
↓
Flutter
↓
自分たちのシステム
↓
外部AIサービス
↓
結果

という新しい構成が増える可能性があります。


49. すると確認することも増える

例えば、

API利用料金は?

1回いくら?

1日1,000回使われたら?

10,000人が使ったら?

入力されたデータはどこへ送られる?

個人情報を送って大丈夫?

APIキーをアプリに入れて大丈夫?

などです。

「AIを入れる」という一言でも、

考えることはたくさんあります。


50. GAME 4

「社長、それ追加するとお金かかります!」

先生またはグループの1人が、

社長

になります。

社長は好きな機能を追加してください。

例えば、

「チャットも欲しい!」

「AIも欲しい!」

「動画投稿も欲しい!」

「SMS認証にしたい!」

「リアルタイムで位置情報を表示したい!」

「Push通知を毎日送りたい!」

「4K動画を投稿できるようにしたい!」

「海外でも使えるようにして!」

51. 開発チームは質問する

「できます!」

とすぐ答えてはいけません。

最低でも次の質問をしてください。

① 誰が使う?

② 何人が使う?

③ どのくらい使う?

④ データはどのくらい増える?

⑤ 外部サービスは必要?

⑥ 従量課金はある?

⑦ 開発期間は増える?

⑧ 運用する人は誰?

52. 社長への回答を作る

次の形で回答してください。

追加したい機能:

________________________


技術的にできそう?

YES / NO / 調査が必要


追加で必要になりそうなもの:

・
・
・


費用が増えそうなところ:

・
・
・


開発期間への影響:

小さい / 中くらい / 大きい / 調査が必要


確認しなければいけないこと:

・
・
・

53. 実務では「できます」だけでは足りない

例えば、

「動画投稿機能を追加できますか?」

という質問に、

「Flutterならできます!」

だけでは不十分です。

実務では、

技術的には実装可能です。

ただし、

・動画保存用Storage
・データ転送量
・動画圧縮
・アップロード処理
・通信環境
・管理方法
・費用

などを確認する必要があります。

まで考えます。


54. ここで大事な考え方

機能が増えると、

単純に、

機能
+
機能
+
機能

となるだけではありません。

それぞれの機能に、

開発
運用
費用
データ
セキュリティ
テスト

がついてきます。


55. 「無料」という言葉に注意

クラウドサービスには、

無料枠

が用意されていることがあります。

これは非常に便利です。

個人開発や小規模なテストなら、

ほとんど費用をかけずに試せる場合もあります。

しかし、

無料で始められる

と、

ずっと無料で運用できる

は同じ意味ではありません。


56. 実習⑦ 「無料」の正体を調べよう

自分が使おうとしているサービスを1つ選んでください。

そして、

公式サイトから、

「いつ有料になるのか」

を探してください。


57. 調査する項目

サービス名:

何に使う?:

無料プラン:

無料で使える範囲:

何を超えると有料?:

料金の単位:

ユーザーが増えると増えそうな費用:

公式情報:

58. 「月額」だけ見てはいけない

サービス料金にはいろいろな種類があります。

例えば、

固定費

毎月3,000円

ユーザー数

1ユーザー × ○円

保存容量

1GB × ○円

通信量

1GB転送 × ○円

API

1,000回 × ○円

SMS

1通 × ○円

決済

売上 × ○%

などです。


59. コストには種類がある

ここでは、まず4種類に分けてみましょう。

種類意味
初期費用最初に必要
固定費毎月ほぼ一定
従量課金使用量によって増える
売上連動売上に応じて増える

60. 実習⑧ 自分のアプリの「お金マップ」

自分のアプリで使うサービスを分類してください。

項目サービス候補お金がかかる?種類
Flutter
Database
Authentication
Storage
Email
SMS
Payment
AI
Analytics
Monitoring

分からないところには、

「要調査」

と書いて構いません。

分からないことを分からないままにしないことが重要です。


61. GAME 5

「月1万円しか払えません」

社長から新しい条件が追加されました。

「開発費は出すけど、公開後のシステム代は月1万円以内にしてね。」

さあ、困りました。


62. 何を変更する?

自分たちの構成を見直してください。

例えば、

SMS認証
↓
本当に必要?
4K動画
↓
画質を下げられない?
AIを毎回使用
↓
必要な場面だけにできない?
大量の画像
↓
圧縮できない?
高価なサービス
↓
別のサービスは?

63. ただ安くすればいい?

ここで注意です。

コストを下げるために、

バックアップなし

監視なし

セキュリティなし

テストなし

にすればよいのでしょうか?

もちろん、それでは困ります。

つまり、

「安い=良い設計」

ではありません。


64. 良い技術選定とは?

例えば、

安い

速い

安全

使いやすい

開発しやすい

運用しやすい

拡張しやすい

など、

複数の条件を考える必要があります。

すべてを100点にするのは難しいこともあります。

だから、

優先順位

が必要になります。


65. 実習⑨ 何を優先する?

あなたのアプリで重要なものを、

1位〜5位

まで決めてください。

候補:

コスト

使いやすさ

開発速度

セキュリティ

性能

デザイン

運用しやすさ

拡張性

ユーザー数

データ保護

66. 自分のアプリの優先順位

1位:

理由:


2位:

理由:


3位:

理由:


4位:

理由:


5位:

理由:

同じアプリでも、

目的が違えば答えも変わります。


67. 例えば

学校の授業で使う小さなアプリと、

100万人が使う決済アプリでは、

同じシステム構成になるでしょうか?

おそらく違います。

だから、

「一番良い技術は何?」

という質問には、

簡単には答えられません。


68. 先に決めるのは技術ではない

いきなり、

Firebaseにしよう!

Supabaseにしよう!

AWSにしよう!

ではありません。

まず、

誰が使う?
↓
何を解決する?
↓
何人使う?
↓
どんな機能が必要?
↓
どんなデータを扱う?
↓
どのくらい予算がある?
↓
どんな運用をする?
↓
その条件に合う技術は?

という順番で考えます。


69. FINAL GAME

「自分だけのシステムを完成させろ!」

最初に考えたアプリを、

ここまで学んだ内容を使ってアップデートします。


70. STEP 1:アプリを整理する

アプリ名:

誰が使う?:

どんな問題を解決する?:

利用者数の想定:

一番重要な機能:

その他の機能:

71. STEP 2:必要な構成を選ぶ

必要なら「○」をつけます。

□ Flutter

□ Database

□ Authentication

□ Storage

□ Backend / API

□ Push Notification

□ Email

□ SMS

□ Payment

□ 管理画面

□ Analytics

□ Monitoring

□ AI

□ その他

72. STEP 3:使うサービス候補を書く

役割サービス候補選んだ理由
ApplicationFlutter
Database
Authentication
Storage
Backend
Notification
Payment
Analytics
Monitoring

全部決められなくても構いません。

決められないところには、

「要調査」

と書いてください。


73. STEP 4:システム構成図を作る

例えば、

            ┌──────────────┐
            │    User      │
            └──────┬───────┘
                   ↓
            ┌──────────────┐
            │ Flutter App  │
            └──────┬───────┘
                   ↓
       ┌───────────┴───────────┐
       ↓                       ↓
┌─────────────┐         ┌─────────────┐
│    Auth     │         │   Storage   │
└─────────────┘         └─────────────┘
       │
       ↓
┌─────────────┐
│   Backend   │
└──────┬──────┘
       ↓
┌─────────────┐
│  Database   │
└─────────────┘

自分のアプリに合わせて変更してください。


74. STEP 5:「お金が動く場所」に¥を書く

先ほどの構成図を見ながら、

お金がかかる可能性がある場所

に、

¥

を書き込んでください。

例えば、

Flutter App
     ↓
Authentication ¥
     ↓
Backend / API ¥
     ↓
Database ¥
     ↓
Storage ¥

+ SMS ¥
+ Email ¥
+ Payment ¥
+ AI API ¥
+ Monitoring ¥

全部に必ず料金が発生するという意味ではありません。

無料枠があるサービスもあります。

重要なのは、

「どこで費用が発生する可能性があるのか?」

を把握することです。


75. STEP 6:「増えたら怖い場所」に⚠を書く

次に、

ユーザーが、

100人
↓
1,000人
↓
10,000人
↓
100,000人

と増えたときに、

費用や負荷が増えそうな場所へ、

⚠

を書いてください。

例えば、

                    User
                     │
                     │ 100 → 10,000 ⚠
                     ↓
                Flutter App
                     │
           ┌─────────┴─────────┐
           ↓                   ↓
 Authentication ¥⚠       Storage ¥⚠
           │                   │
           ↓                   │
      Backend / API ¥⚠        │
           │                   │
           ↓                   │
       Database ¥⚠            │
                               │
                        画像・動画が増える

76. どんなものが増える?

ユーザーが増えると、

単純に「人数」だけが増えるわけではありません。

例えば、

ユーザー
↓
ログイン回数
↓
APIアクセス
↓
Databaseへのアクセス
↓
保存データ
↓
画像・動画
↓
通知
↓
メール
↓
SMS
↓
決済
↓
ログ

さまざまなものが一緒に増えていきます。


77. MINI GAME

「100倍になったら何が起きる?」

あなたのアプリの利用者が、

突然100倍

になったとします。

次の中から、影響がありそうなものを選んでください。

□ Databaseへのアクセス

□ Storage容量

□ データ転送量

□ SMS送信数

□ メール送信数

□ Push通知

□ AI API利用回数

□ 決済件数

□ サーバー負荷

□ 問い合わせ件数

□ 管理者の作業量

□ 何も変わらない

78. システムだけを見ない

ここで、もう一つ重要なポイントがあります。

ユーザーが100倍になると、

サーバーだけではなく、

人間の仕事

も増える可能性があります。

例えば、

ユーザー100人

問い合わせ
1日1件

だったものが、

ユーザー10,000人

問い合わせ
1日100件

になったらどうでしょう?


79. 「運営」もシステムの一部

実務では、

アプリ
+
サーバー
+
データベース

だけを考えて終わりではありません。

例えば、

問い合わせ対応

返金対応

アカウント削除

不正ユーザー対応

投稿削除

障害対応

データ修正

お知らせ配信

なども発生します。


80. 実習⑩

「人間がやる仕事」を探せ

自分のアプリを運営するとしたら、

どんな仕事が発生するでしょうか?

アプリ名:

運営開始後に発生しそうな仕事:

1.

2.

3.

4.

5.

81. その仕事、本当に人間がやる?

書き出した仕事を、

次の3つに分類してください。

仕事人間システムどちらでも可能
問い合わせ対応
予約確認
決済確認
メール送信
不正利用確認
データ集計
その他

82. 自動化すると何が起きる?

例えば、

毎日スタッフが、

予約確認
↓
Excelにコピー
↓
メール作成
↓
ユーザーへ送信

しているとします。

1件5分なら、

100件で、

5分 × 100件
= 500分

です。

約8時間20分。

ほぼ1人分の仕事になります。


83. システムに任せると?

例えば、

予約
↓
Databaseへ保存
↓
自動で予約確認
↓
メール自動送信
↓
管理画面へ反映

にできれば、

人間の作業を減らせる可能性があります。

つまり、

システムには「人件費を減らす」という価値もある

ということです。


84. でも、自動化にもお金がかかる

例えば、

人間が毎日作業する

のと、

最初に50万円かけて
システムを作る

のでは、

どちらが良いでしょうか?

これは単純には決まりません。


85. GAME 6

「人間 vs システム」

次のケースを考えてください。

A案

人間が対応します。

作業時間:1日2時間
時給:1,500円
月20日

1か月の人件費を計算してください。

2時間
×
1,500円
×
20日

= __________円

86. B案

システムを開発して自動化します。

開発費:300,000円

月額システム費:
5,000円

さて、

何か月使えば自動化した方が得になる?

計算してみてください。


87. 「開発費が高い」だけでは判断できない

例えば、

開発費
300,000円

だけを見ると、

高く感じるかもしれません。

しかし、

毎月発生する人件費

ミス

作業時間

問い合わせ対応

営業時間外対応

まで考えると、

結果が変わることがあります。


88. システム開発で考える「コスト」

ここまでで、

コストには少なくとも、

開発費

インフラ費

外部サービス費

決済手数料

運用費

人件費

保守費

があることが分かりました。


89. さらに事件発生

ここで社長から連絡が来ます。

「いい感じだね。」

……

あなたはどう答えますか?


90. GAME 7

「来月リリースして!」

今の自分のアプリを見てください。

本当に1か月で作れそうでしょうか?

まず、

必要な仕事を予想してください。

□ 企画

□ 画面設計

□ デザイン

□ Flutter開発

□ Database設計

□ Authentication

□ Backend

□ Storage

□ Payment

□ 管理画面

□ テスト

□ バグ修正

□ ストア公開

□ その他

91. 「アプリ開発=プログラミング」ではない

コードを書く前にも、

何を作る?

誰が使う?

どんな画面?

どんなデータ?

誰が何を操作できる?

を決める必要があります。

コードを書いた後にも、

テスト

修正

公開

監視

問い合わせ

アップデート

があります。


92. 今日の時点では見積もらなくていい

今日は、

正確な開発期間を計算する必要はありません。

ただし、

「画面を作る時間だけでは見積もれない」

ということは覚えておいてください。

次回は、

「このアプリ、何日で作れる?」

を実際に考えます。


93. FINAL MISSION

今日作ったアプリを完成させよう

最後に、

今日調べた内容を1枚にまとめます。


94. アプリ企画

アプリ名:

誰が使う?:

どんな問題を解決する?:

利用者数:

一番重要な機能:

このアプリを一言で説明すると:

95. 必要な機能

【絶対に必要】

1.

2.

3.


【できれば欲しい】

1.

2.

3.

96. システム構成

Application:

Database:

Authentication:

Storage:

Backend / API:

Notification:

Payment:

管理画面:

Analytics:

Monitoring:

その他:

まだ決まっていない部分は、

要調査

で構いません。


97. お金マップ

自分の構成の中から、

費用が発生する可能性があるものを書き出します。

項目無料?有料?増えたら高くなる?要調査?
Database
Auth
Storage
SMS
Payment
AI
その他

98. 今日の最終発表

グループまたは個人で、

60秒

で説明してください。

話す内容は5つだけです。

① 誰のためのアプリ?

② 何を解決する?

③ 一番重要な機能は?

④ どんなシステムが必要?

⑤ どこにお金がかかりそう?

99. 他の人の発表を聞くとき

ただ聞くだけではありません。

他の人のアプリに対して、

1つだけ質問

してください。

例えば、

「写真はどこに保存する?」

「ログインは必要?」

「1万人来ても大丈夫?」

「誰が管理する?」

「SMSって有料じゃない?」

「そのAI、毎回使ったらいくら?」

「決済はどうする?」

こうした質問ができれば、

今日の内容を理解できています。


100. 今日、最初に考えていたこと

授業の最初は、

面白いアプリを考える

↓

Flutterで作る

くらいだったかもしれません。

しかし、実際には、

アイデア
↓
ユーザー
↓
解決する問題
↓
必要な機能
↓
Flutter
↓
Authentication
↓
Backend
↓
Database
↓
Storage
↓
Payment
↓
Notification
↓
管理画面
↓
Analytics
↓
Monitoring
↓
運用
↓
コスト

までつながっています。


101. 今日一番覚えてほしいこと

Flutterは「アプリ全体」ではありません。

Flutterは、

ユーザーが触るアプリを作るための、

重要な構成要素の1つ

です。

実務では、

その周りに何を組み合わせるか

を考える力が必要になります。


102. エンジニアの仕事は「作る」だけではない

実務では、

何を作るべきか考える

↓

必要なものを調べる

↓

比較する

↓

選ぶ

↓

理由を説明する

↓

作る

↓

テストする

↓

運用する

ところまで考えます。


103. 正解は1つではない

例えば、

Databaseに、

Firebase

Supabase

AWSのサービス

その他

など、複数の選択肢が存在します。

重要なのは、

「○○を使えば正解」

と覚えることではありません。


104. なぜそれを選んだ?

これから技術を選ぶときは、

必ず、

「なぜ?」

を考えてください。

例えば、

Supabaseを使います。

なぜ?

↓

今回必要な○○という条件に
合っていると判断したから。

という説明ができることが重要です。


105. 第1回クリア

今日できるようになったことを確認します。

□ アプリのアイデアを考えた

□ 誰の問題を解決するか考えた

□ 必要な機能を整理した

□ Flutter以外に必要なものを知った

□ Databaseの役割を知った

□ Authenticationの役割を知った

□ Storageの役割を知った

□ 外部サービスを調べた

□ 無料枠について調べた

□ ユーザー増加とコストの関係を考えた

□ システム構成図を作った

□ 技術を選ぶ理由を考えた

ここまでできれば、

LEVEL 1 CLEAR

です。


106. しかし、まだ大きな問題が残っています

あなたは、

素晴らしいアプリを設計しました。

必要なシステムも分かりました。

費用が発生しそうな場所も分かりました。

社長に見せます。

すると……

社長から一言。

「で、これ何日で作れるの?」

さらに、

「予算100万円で足りるよね?」

と言われました。

……

どうやって答えればいいのでしょうか?


NEXT MISSION

第2回

「そのアプリ、本当に100万円で作れる?」

次回は、

自分が今日考えたアプリを、

機能
↓
作業
↓
工数
↓
開発期間
↓
開発費

へ分解します。

そして途中で、

「予算が半分になりました」

という事件も発生します。

そのとき、

何を残して、何を捨てるのか。

次回は、

「作りたいもの」から「作れるもの」へ

アプリを変えていきます。

FAQ

よくある質問

こんなアプリあったら面白くない?は医療関係者向けだけの内容ですか。
医療分野の例が含まれる場合もありますが、医療関係者だけに限定した内容ではありません。生成AI、AI活用、DX、業務改善、プロトタイプ開発など、一般的なAI学習の事例として読める内容です。
AI初心者でも読めますか。
はい。AIをこれから学ぶ方、数学が苦手な方、仕事でAIを使いたい方にも読み進めやすいように、教材の章と節の流れに沿って整理しています。
サムネイル画像は必ず表示されますか。
はい。教材にcoverUrlが設定されている場合はその画像を表示し、未設定の場合は代替サムネイル画像を表示します。
Flutterアプリケーション開発概論のほかの章も読めますか。
はい。教材トップから章立てを確認でき、前後の節へもページ下部のナビゲーションから移動できます。