個人でアプリ開発を通しての所感

2018年はプライベートではありますがフレームワークを使ってWebアプリを作っていました。
そこでの反省点や感じたことをまとめていきます。

なぜWebアプリを作ろうと思ったのか

今年の3月ごろ、Ruby on Railsに興味を持ち、Ruby on Railsチュートリアルを写経して動かしていました。
ある程度Railsの仕様を把握して慣れてくると、「用意された解答をひたすら真似する」状態に飽きてきました。
そこで、自分で機能を考えて実装してみることで、より実践的な練習になるのでは?と思いWebアプリを作り始めました。

受験勉強でいうと、例題はある程度解いてみたから演習問題にトライしてみるか、といったところです。

あとは単純に、「自分でもWebアプリ作れるようになりてえ!!」という憧れですね。

成果物

成果物その1

Ruby on railsで作った掲示板チックなアプリです。
拙ブログのWorksにURLとソースコード記載しています。

かの有名なRuby on Railsチュートリアルの内容をほぼ踏襲したような感じです。
あとはUdemyのこちらの講座も参考にしました。

成果物その2

SpringBootで作った家計簿です。
こちらはまだデプロイできてませんが、拙Twitterにて動画を投稿しました。

https://twitter.com/SunHigh105/status/1078233168707084288

ちなみにソースコードはこちらです。

開発を通しての反省点

1. 魅力的なアイデアがない

まず「コレ作るぞ!!」っていうのが全然出てきませんでした。
ひねり出しても「すでにありそうだなあ」と感じてしまい、そこでちょっとモチベーションが下がりましたね。
(結局、今年作った2つのアプリもありそう感満載になりました。特に家計簿なんて絶対ある!笑)

技術的スキルとは別にアイデアのストックも必要かも…

2. 「サービスとして成立させるぞ」までの本気度がない

魅力的なアイデアを持ち合わせていないこともあってか、「私の作ったアプリをサービスとして成立させるぞ!いろんな人に使ってもらうぞ!」までには至れず、
「まあ個人の練習レベルでいいかな…」くらいの気持ちでいました。

3. 計画性がない・モチベーションの低下

機能の設計やスケジュールはふわふわだし(最初ちょっと考えたけど作りながら考える状態になる)、
実装で詰まると妥協したくなるし(実際妥協したし)、
完全に成り行き任せな開発になってしまいました。

4. 開発過程でのつまづきや感じたことをアウトプットしきれず

SpringBootで開発していた際、開発過程を毎日ブログに書こう!なんて意気込んでいましたが、見事に心が折れました!(汗)

開発で詰まったところは個人のメモとして残してはいましたが、そのメモをアウトプット用に再編集しないと…なんて思いながら、結局開発を優先してアウトプットを後回しにしてしまいました。

今後どうするか

やっぱアプリ開発って難しいよ!

単純な感想です。
一つアプリを作るとなった時にいろんなことを考える必要があります。

  • どんな機能を作るか?
  • 個々の機能に対しどのように実装するか?
  • 画面遷移とかパス設定どうしよう?
  • 画面レイアウトとか色とかフォントとか見た目どうしよう?
  • 変数名とかクラスメイトかどうしよう?この辺重複してるからまとめられないかな?
  • サーバーとかデータベース何使おうかな?開発環境と本番環境分けなきゃ!
  • テーブル設計どうすればいいかな?
  • 本番環境へのデプロイどうしよう?
  • バリデーションは?予期しない動作が起こったらどう動作させようか?

本当はもっと色々あるかと思いますが、
作っているうちに次から次へと考えるべきことが浮かんで収拾がつかなくなります。

昨今はいろんな言語でフレームワークがあって、Webアプリなんて簡単に作れる!なんて思われがちですが、
まずフレームワークごとのお作法(書き方など)を把握して慣れるのにある程度時間が必要です。
また、フレームワークは様々な機能がラッピングされているため、
元々組み込まれている機能のロジックや、何か不具合が起こった時の根本原因が分かりにくいという側面もあると思います。

要するに、ヤッパリアプリ開発ムズカシイヨ…

(個人で続けるなら)スコープを狭めてもいいのでは?

一つのアプリを作ることで、アプリ開発の全体像は掴める一方、
個々のスキルを深掘りできず中途半端になってしまうのかなと思います。

いまいち作りたいものないなあ…という場合、アプリを作りきることに執着せず
あえてスコープを絞って特定分野を深掘りするのもありなのでは?と思いました。
(フロントだけガッツリ作るぞー!とか、この機能だけ作るぞー!とか、環境構築するぞー!とか)

誰かに乗っかる!!

一人より誰かと一緒に開発した方がモチベーション保てそう!なんて思ったのですが、今はまだ現実的ではなさそうです…
これを実現するには、人脈を広げるのと、自分のスキルセットや興味あることをアウトプットしていくことが先決ですね。

アウトプットも小出しに

開発がてらブログやQiitaにアウトプット作れればいいのですが、
開発もアウトプットも慣れていないうちは分けて作業した方が良さそうです。メリハリですね。

ちょっとした気づきはTwitterでも良さそうだなと思いました。
もっと気軽に呟いてこう(笑)


さいごに

なんだかんだ言っても、自分が考えた機能が思い通りに実装できると嬉しいものです。
(よく一人部屋で「よっしゃーーー」って呟いてました笑)
自分なりに工夫しつつ、これからも手を動かし続けていきます!

おしまい。

SNSでもご購読できます。

コメントを残す

*