Webアプリ開発の流れ
アプリを開発しようとするも、ぐだぐだになり失敗
→個人開発における必要なことを簡単にまとめてみた。
企画
アプリ開発におけるゴールを明確にする。
- このアプリを作成することで、どのような問題を解決できるか
- 何のために、誰に向けてこのアプリを開発するのか(極論自分のためでも可)
競合アプリの比較
- 類似のサービスがないかを調べ、それぞれの特徴を知る。
ユーザーがアプリを使うメリットを明確にできる。(クローンアプリとなることを防止、自作アプリの差別化)
※個人の学習用であれば、新しい技術の習得がゴールとなる。恐れず作ってみること!!
設計
目標を実現するために、必要な機能を洗い出す。
機能要件
サービス提供のために必ず必要な機能。
あれもこれもではなく、必ず使うものを最小単位で列挙する。
例)会員制のアプリを作る場合は、ユーザー登録と、ログイン、ログアウト機能が必要。
非機能要件
機能要件のように、なければ破綻するものではないが、こだわるほどアプリの使いやすさが向上し、ユーザーの満足度が上がる。
例)レスポンスまでの時間が早い、UIがわかりやすい(デザインが苦手であれば、他のWebサイトの構成を参考にしたり、Bootstrapなどを活用するとオシャレになっていいかも)
技術選定
機能を実現するために、どのようなツールがあれば作れるか
- MVC機能の実装(LaravelやRuby on Railsなどのフレームワーク)
- Todo機能などのシンプルなSPAアプリを作りたい(Vue.js、Reactなど)
- アプリに地図を載せたい(Googlemap API)
- バージョン管理(Git)
- 環境構築(Docker)
画面遷移図を作成
どんな画面が表示され、そこで何ができて、どう遷移するのかを把握するために使用。
どのように画面が動いていくか、全体の流れが掴める。
※以下のサイトは画面遷移図、ER図、ワイヤーフレームなど、見た目に関わる部分を一通り作れていいかも
ER図を作成
データ同士の関係性を明確にする。機能要件が明確になっていれば、作成しやすい。
開発
- タスクごとにブランチを作成
- githubで使用できるIssuesの活用することで、タスクを明確にできる。
- 機能追加や改修
- テストの実施
大事なこと
とにかく完成させることを意識する
→工数を明確にし、ダラダラと開発することをしない。
自分の知っている技術を最大限活用することを心がける。
(知らない技術を途中で盛り込もうとすると、予想外に時間がかかり失敗の原因に・・・)
これから少しずつ小さなアプリを完成させ、いつかはオリジナルアプリを作れるようになりたい!!
参考サイト