目次
一人で作るWEBアプリケーション開発
※本記事は2018年9月29日に投稿した「一人でWEBアプリ開発をやってみる」を再編集したものになります。
どうも、合同会社Celalinkの代表をやっているヤナイ(@yusuke_celalink)です。
「個人でアプリケーションを作成してみたい」
「開発に便利なツールを知りたい」
1人でいざシステム開発をしようと思っても何から手をつけていいかわからない人が多いと思います。
普段からエンジニアで働いている人に取っては敷居は低いと思いますが、独学で勉強を始める方にも参考になる記事を書いていこうと思います。
私は普段は外の現場に出てシステム開発をしていますが、空いた時間を使ってプログラムの勉強をかねてWEBアプリケーションを作成してみようと思い立ちました。
1人で開発をするので自由気ままにコーディングから初めてみたのですが、書き始めるとあれこれ決めなくてはいけないことが多くなります。
つまり1人でもプロジェクト管理を行う必要があるということですね。
プロジェクト管理といっても工数とか管理する必要はないと思います。
どちらかというとタスク管理や、設計用のメモを管理すると言う方が正しいです。
ただシステム開発に慣れていない人に関して難しいことは考えずに、手を動かしてみるのが一番勉強になると思います。
今回は1人で開発を行うのに使ったツールや、開発を始めるまでの流れを書いていこうと思います。
初心者こそプログラムを作ってみるべし!
本を読むだけで理解できるのは相当技術が上がってからになります。
実際に手を動かして書いてみるのは非常に重要です。
なぜならば書籍やサイトで調べたプログラムのコードが100%正解とは限らないからです。
たまに完全にコピーしてもエラーになることがあります。
とりあえず手を動かしてみるということは非常に大事ですし、実際に書いてみると綺麗に書くことの重要さにも気付きます。
書籍ではインデントや改行がレイアウトの都合で消えていたりもします。
勉強用にプログラムを書くのも楽しいですが、実際に何かサービスを作って誰かに使ってみてもらった方が達成感は大きいです。
それが別に対したサービスで無くても全然構いません。
GitHubにコードを公開して他の人にレビューをしてもらうようにSNSで問いかけてみても面白いと思います。
そういった意味でWebアプリを作ってみるというのは非常に良い勉強になるので是非挑戦してみてください。
開発準備
システム開発を行う準備をするにあたってやらなくていけない事が沢山あります。
- 開発言語をどうすか
- どこに環境を作るか
- どのようなシステムを作っていくか
- いつまでに作るか
- 運用をどのようにするか
他にも細かい話はあるのですが、大枠としては上記になると思います。
どこに環境を作るかという点で言えば、サービスを運用する環境ですね。
自宅にサーバを作るのか?レンタルサーバにするのか?AWSにするのか?などです。
いつまでに作るかという目標も決めた方が良いです。
ダラダラ作ると結果的にいつまでのリリースすることができなくて結局止めてしまうというモチベーションの低下に繋がります。
ここでは完璧なものを作ることよりも期限ないで出来ることを作って、どんどん改善していく方が良いです。
※興味がある人は『アジャイル開発』について調べてみてください
まずはやるべき事をリスト化していく
TODOにやることを書き出していきます。
カンバン形式でやるとタスクがわかりやすくなるので今回はTrelloを使ってタスクを管理するようにしました。
Trello
カンバン形式でカードを追加していくことができます。
TODO/未着手/着手中/完了など自由に時系列に作っていくことができるのでひと目でタスクの管理と状況を一変に管理できるのでわかりやすいです。
調べたことなどをチャットで管理する
Slackを使って専用チャンネルを一つ作ってそこに調べたサイトのURLを貼って後で見直ししやすいようにしています。
Slack
フリーで使える無料プランの場合は10,000メッセージを超えると古いメッセージから消えていきますが、一人で使う分には全然問題なく使えます。
だんだんチームの人数が増えてきてメッセージの上限に近づいたら有料プランを検討するのが良いと思います。
WEBのデザインを考える
画面のデザインを考えながらプログラムを作っていくのも良いのですが、最初にデザインを決めた方が手戻りが少ないと考え、最初にデザインを考えることにしました。
(実際はちょっとだけサンプルを作り始めて結局作り直したので(笑))
ワイヤーフレームを使った画面デザインは普段の業務で作ったことはないのですが、今回は作ってみることにしました。
ExcelやPowerPointで作っても良いのですが、調べてみたらcaccoというサイトが良いとのことで使っています。
cacco
ワイヤーフレーム作成自体は慣れていないこともあるので他にもオススメがあれば是非ご紹介いただきたいです。
caccoの良いところはフローチャートやUMLといった図も作れるのがすごい使いやすくて良いですね。
プログラムはGitHubで管理する
プログラムのコードはある程度完成したらGithub上で管理すると良いです。
機能を追加したり、プログラムを修正していると前の状態に戻したいということがあります。
どのように修正していったかコードのバージョンを管理する上でもオススメです。
いざ開発へ
開発環境を別途構築しようかとも思いましたが一旦はローカル環境に開発環境を作って動かしていけば進められるのでそれで良いかと思ってます。
Dockerを使ったりAWS使ったりとか色々とあるのですが、ある程度完成してからでも良いかなと思って準備としてはここまでにしました。
将来的に誰か一緒にプログラム作ってくれる人ができても良いようになるべくクラウド上で使えるものを意識しました。
スタートアップベンチャー系の会社でも採用されているものも多いと思います。
個人でもお金をかけずに使えるものが多いので利用できるのが良いですね。
どこまで空いた時間でプログラムをやるかは決めてませんが、進めていこうと思います。
一緒に勉強がてらにWEBサービスを作ってみたい方がいらっしゃったら一方ください!
コメント