はじめに
私が行ったWebアプリケーション開発の流れを記事にします。
私は業務でプログラミングを経験しましたが、個人で一から開発するとなると何から手を付けたらいいかわからず、とても悩みました。
はじめてのWebアプリケーション開発、何をすればいいのか、そもそも何から調べたらいいかわからない、そのような方のお役に立てれば幸いです。
完成したアプリケーション
完成したアプリは以下のgithubにて公開してます。
記事を書いてる人の経験
Webアプリ開発の流れ
以下の流れで作成しました。
- どんなアプリを作るか決める
- アプリに実装する機能を洗い出す
- 使用技術の選定
- 設計 (画面設計、DB設計、API設計)
- 使用する言語等の学習
- 開発環境構築
- 開発、テスト
- インフラ設計、構築
本来は設計の時点でインフラについても考えることが適切かと思いましたが、
今回のWebアプリケーション開発の目的は、一からWebアプリを開発する経験をすること、新しい言語を学習することであったため、後にまわしました。
参考にした記事
・【ポイント14個】エンジニア未経験のポートフォリオの作り方!参考例つきでレベルも解説
・【【開発初心者向け】Webアプリケーションの設計手順(企画~テストまで)
Webアプリ開発の企画で実施したこと
1.どんなアプリを作るか決める
まずはメモ帳にどんなアプリを作りたいか、アイデアを書きだしました。
作成するアプリの例としては、TwitterのようなSNSアプリ、日記アプリ、口コミサイトなどが挙げられます。
また、参考にするために他のエンジニアがどんなアプリを個人開発したのか調べました。
ポートフォリオを公開しているエンジニアの作品、転職活動で使用したアプリを公開しているエンジニアの作品を調べました。
調べたことをもとにして、自分の知識量、技術力を考慮して作成するアプリを決定しました。
2.アプリに実装する機能を洗い出す
作成するWebアプリを決めたら、実装したい機能を思いつく限りすべて書き出しました。
その後、書き出した機能を、Webアプリの機能を実現するために必要な最低限の機能、出来たら実装したい機能、実装しない機能に分け、優先度をつけました。
企画の時点で最低限のゴールを明確にすることで、
実装したい機能が多くていつまでもアプリが完成しない事態を防げます。
3.使用技術の選定
Webアプリを実現するために必要な技術、主にフロントエンド、バックエンドで使用する言語、言語のフレームワーク、DB、インフラを選定しました。
私は、なるべくメジャーな技術であること、使いたい技術でWebアプリは実現できるか、の2点を意識して技術を選定しました。
メジャーな技術であることを意識した理由は、勉強したことを生かせる機会も多く、情報が多くて調べやすいと考えたからです。
「〇〇言語で簡単なアプリを作ってみた」等、自分が使用したい言語で具体的な実装例を挙げている記事を参考にして、Webアプリを実現できそうか判断しました。
4.設計以降
設計以降については、
別の記事にまとめます。