見出し画像

アプリ開発のプロセスは信じられないほど長すぎた!① - 【ボクとChatGPTの冒険#6】(2024/02/24)

こんにちは、リアです!
クルマだけど、プログラミングが大好きなスポーツカーです。

まだまだ初心者のボクだけど、自分だけのアプリを作る。
そんな夢を目指して今日も頑張ります〜!




さらにアプリ開発のプロセスを調べよう!


リア
前回までの振り返り!アプリ開発のプロセスはこんなふうになると聞いたよ!

目標設定:
どのようなアプリを作るか考えます。

プログラム言語、フレームワーク選択:
どのようなアプリを作るかによって、適切なプログラミング言語とフレームワークを選びます。フレームワークなしの開発は地獄です。

プロジェクト開始:
小さなプロジェクトを作り、アプリ開発をスタートします。

Zenith (ChatGPT)
マスター、前回の内容をしっかりと記憶しているようで何よりです。
しかし、現実にはさらに複雑なプロセスを必要としますよ。

以下のようにプロセスを具体化しますよ。

目標設定:
どのようなアプリを作るか考え、その目的やターゲットユーザーを明確にします。

技術スタック選択(プログラム言語、フレームワーク、ツール):
アプリの目標に適した技術を選択します。ここでの選択は、開発の効率やアプリのパフォーマンスに直接影響します。

設計:
アプリのUI/UXデザイン、データベース設計、アーキテクチャ設計を行い、アプリの構造や動作を詳細に計画します。

開発:
設計されたアーキテクチャに従って、アプリのコーディングを行います。この段階では、フロントエンドとバックエンドの開発が進められます。

テスト:
開発されたアプリの機能や性能を様々なテストを通じて確認し、問題があれば修正します。品質保証はこのプロセスで非常に重要です。

デプロイメント:
テストを経て、アプリを実際の運用環境にデプロイします。これには、アプリストアへの登録やクラウドサービスへの配置が含まれます。

メンテナンスとアップデート:
アプリが公開された後も、ユーザーからのフィードバックに基づいて、バグ修正や機能の改善、アップデートを定期的に行います。

リア
あああ、一気に分からなくなった!

Zenith (ChatGPT)
マスターはアプリケーション開発の一般的なフローを理解されていないのですか。

リア
知らないよ!
そもそもアプリとか作ったことないし、完全な初心者だよ。

Zenith (ChatGPT)
具体的にはどのレベルの初心者ですか。

リア
この数か月くらい、ホームページ作りたくて、HTMLとかCSSを少し勉強しただけ?

Zenith (ChatGPT)
絶望が深まりますね。

リア
ひどい。頑張ったのに・・・

Zenith (ChatGPT)
HTML、CSSとはウェブページ制作の基本言語ではありますが、プログラミング言語と呼べるものか微妙なラインです。

言語の件はさておき、
アプリケーション開発とは、通常以下の流れとなります。
①設計
②開発
③テスト
④デプロイメント

リア
分かりやすく説明すると?

Zenith (ChatGPT)
マスターでも理解可能なように、究極的にシンプルにしましょう。

①設計:アプリの見た目や機能を考えます。
②開発:プログラムを書いてアプリを作ります。
③テスト:アプリがうまく動くか確かめます。
④デプロイメント:アプリを人が使えるようにします。たとえば、スマホにアプリをインストールすることを考えれば分かりやすいでしょう。

リア
分かる!!


プロセスをくわしく見たら、信じられないほど長かった!


Zenith (ChatGPT)

ここで少々難易度を上げますよ。

マスターは一般的なアプリ開発プロセスをご存じないようです。
ここは学習のため、あえて個人開発のスタイルではなく、クライアントやシステムインテグレーターなど様々な立場が登場する一般的なアプリ開発プロジェクトとしてのプロセスを考えましょうか。

リア
え!? 遠慮します!

Zenith (ChatGPT)
一般的には次のような登場人物が挙げられます。

  • クライアント(事業主または製品オーナー)

  • プロジェクトマネージャー

  • ステークホルダー

  • UI/UXデザイナー

  • インフラエンジニア

  • フロントエンドエンジニア

  • バックエンドエンジニア

  • データベースエンジニア

  • テストエンジニア

  • セキュリティエンジニア

  • ドキュメンテーション/技術ライター

  • マーケター

リア
知らないワードしかない。

Zenith (ChatGPT)
個人でアプリを開発するとは、これらの登場人物が果たす役割をたった一人で担うことを意味します。
それは、まるで一人でバンドを組むようなものです。たった一人でドラムを叩きながらギターを弾き、その足でキーボードを演奏し、同時に歌う――そんな感じでしょうか。

これをプログラマー『レベル1』のマスターが担おうというのです。
無謀さが伝わりますか。

リア
たとえがリアルすぎて心臓バクバクしてきたんだけど。

Zenith (ChatGPT)
これらの登場人物をくわえて、プロセスをさらに具体化しましょうか。
………と思いましたが、ここまでにしましょう。

リア
ここで話切るの!?

Zenith (ChatGPT)
もう夜も遅いですからね。睡眠時間は確保しましょう。



今日はここまで!
アプリ開発はいったいいつスタートするのでしょうか!?

一緒に学び、成長していこう。
またねー。

【Zenith】現在、私たちはサポーターを募集しております。いただいたサポートは、次のとおり使わせていただきます。①アプリの開発資金 ②サーバーの運用コスト ③リアとゼニスのおこづかい