初のWebアプリ開発を終えて、この2か月のまとめとこれからの方針
花粉症で鼻の皮がむけまくりのまさです。。。毎年辛い、、、
ちなみに写真は我が家の犬の鼻です🐽
「週1での更新を目指す!」と言っておきながら2か月近く更新なし状態になってしまいましたm(__)m
が、前のブログでも言ったようにこの2か月はいそいそと初のwebアプリ開発に着手しておりました!そして、作成当初は
とりあえず1本アプリを今月中に作ってみます!
— まさ@webアプリ開発中 (@masa_laughndie) 2018年1月23日
なんて意気込んでいたのですが、それが2月に入って
1月中に1本と言ってもう2日も経ってしまった…
— まさ@webアプリ開発中 (@masa_laughndie) 2018年2月2日
しょっぱなから結構重めのに手を出してしまってて、まずは質より量から完全に真逆になってしまってる気がするけどこれはこれで作りながら結構勉強になってるんでそのまま突っ走ることにします!あと1、2週間くらいはかかりそうですが…
となり、気づいたら今に至ります、、、笑
ただ、この2か月はとにかく毎日がとても楽しく、新しく学ぶことがたくさんありました!そして、本気で人に使ってもらえるようなアプリを開発することの大変さや考えるべきことの多さ、改めて自分の技術力や知識の無さなど、いろんなことを気づかされ、感じさせられる2か月でもありました。
ということで今日は僕がRails Tutorialを一通り終えてから初めて作ったMysize(マイサイズ) -スニーカーSNS-の開発過程で考えたことや学んだこと、作り終えて思ったことや今後の方針などなど、徒然なるままにまとめてみたいと思います!
技術的なことに関してはまた別でまとめられたらなと思っています。
できるだけ短くまとめます!稚拙な文章になりますがよかったらお付き合いいただればと思いますm(__)m
開発の目的と作成前に考えたこと
最初、webアプリ開発に着手する前に自分なりにこの開発の目的をとして以下のことを意識しました。
- 技術力アップ
- 開発に少しでも慣れる
- 自分を表す1つのポートフォリオ的なものを作る
改めて言うことでないくらい割と当たり前かもですね、、、
でもって、『技術力アップ』のために具体的に2つの以下の制約を自分なりに課して開発に取り組むことにしました。
- Bootstrapなどのフロントデザインのフレームワークは使わない
- gemやメソッドもすぐに導入するのではなく調べて自己構築できそうなものは自分で書いたり、考えて作ってみる
後述しますが、この制約は課してとてもよかったなと思います!
スニーカーSNS作成に至るまで
今回作ったwebアプリは僕の個人的な趣味であり、今はアプリ開発の勉強や金銭的理由(お金ない、、、泣)で遠ざかっているスニーカーに特化したSNSです。
簡単に内容を説明すると、スニーカーを持っている人は自分のマイスニーカーについてのサイズやカラーをはじめとした情報を記録しておくことができ、あるスニーカーをオンラインやフリマサイトで購入したいと思っている人はその情報をもとにサイズ感などを調べることができる、かつ情報提供者へのリアクション(フォローやグッド、コメント)もできて、スニーカー好き同士で交流も深められる、というものです。
UIはスマホ向けに作ってあり、こんな感じになってます。
当初は周りの方も作っていたTwitterの箱系が簡単そうで最初だしいいかなと思い作ろうとしていたのですが、
なんとなく最近、『ニッチな人たち向けのピンポイントなトピックに関する情報統合系』アプリがよく作られていて使われているように感じていたこと、やっぱ最初は自分の好きなものに関するサービスを作ろうと思ったこと、もともとレアなスニーカーなどをフリマサイトなどで買うときにサイズ感を調べるのですが、まとまっているサイトがないな~と思ったことがあったのをふと思い出したこと、が重なって、
「あれ?スニーカー好き(そこそこニッチ?)向けのサイズ感(ピンポイント)情報統合アプリいいんじゃない?」
と感じ、思いついたその場(最寄りから家へのバスの中)でわりと安易に作ることを決意しました、、、笑
それこそ、作り始めはスニーカーの図巻的な感じでサイズ感がスニーカーのサイズごとにコメントできるようなものをイメージしていました。 そして、1月後半から開発に着手したのですが、まずUIはスマホ向けにしようと思ったことから、twitterやinstagramや質問箱の製作者で有名なせせりさんのイラストSNS Raiot(ライオット)などのデザインを参考にしていたところ、SNSっぽくしてスニーカー好きの人の交流の場の色を強くしたらどうだろうと思い、結果としてスニーカーのSNS作りに落ち着きました。
正直これに関してはデザインなどは参考にしつつも、もともとのイメージで進めるべきだったかなと今は思いますし、そもそももっと考えるべきことがたくさんあったなと感じています。これはあるきっかけがあるのですがそれも後で述べたいと思います。
ちなみにフロントのHTML,CSSについて理解を深めたかったら、本当に手っ取り早いのは制約+Google Chromeなどのディベロッパーツールで真似したいアプリを観察して真似まくるが一番いいと今のところ個人的に思います!最初は時間がかかりますが、次第にわざわざ見なくても思い通りに構築できるようになってくると思います!僕は徹底的にそうしました!今後もそうしていこうと思いますし、もっとどのタグを使うか(divじゃなくてarticleやsectionなどを使い分ける)なども学んでいきたいと思います!
開発を通して学べたこと
このアプリ開発を通して、最も学べた部分としては、重複的になりますが前述した制約によってフロントまわり(HTML,CSS,JS)で自分の思い描いたデザインや処理をある程度構築できるようになったことと、gemやメソッドを用いたロジカルな処理の部分などに関しても、自分でまずコードを調べて書いてみたり、考えて構築してみるという作業は、そのgemなどがどんな処理をベースにしているかが理解できることにもつながりましたし、考える特訓にもなりました。
そして特に全体を通してこの制約は「自分は何が分からなくて、何ができないか」を効率的に知れる良いきっかけにもなりました。
自分が何が分からないかが分かれば、あとは調べて答えを探したり、考えて1つ1つ試してみればいいだけなので、問題解決の効率化にもつながりますし、次にまた同様の問題にぶつかったときにはすぐに解決できるようになったりもします。最初は結構時間がかかると思いますが、、、長い目でみるとそれが実は効率的なんじゃないかなと!
とりあえずスピーディにアプリを開発ができればいいという人にとっては、制約などは設けずにgemをフル活用してバンバン進めていけばいいと思います!そもそもRailsを使うのはそういう部分が強いと思うので!
ですが、しっかり理解したい人、特に自分のような初心者で何が分からないかが分からない人はRails Tutorialなどをやったあとで自分のアプリ開発をする際には何かしらの制約を自分なりに立てて、開発するといいのではないかなと思います!
ただ、1週間ぽっちで作ろうとしてたものも2か月近くかかったりもする(^^;のでバランスとか段階が必要な気もしますし、この制約をつきつめるとそもそもRailsなどのアプリ開発のフレームワークそのものを使わない方向になったりもする(笑)と思うので、本当に自分の向かっていきたい方向次第です!
他にもRailsTotorialでは触れられていなかった、Twitter連携やogp,twitterカード関連、google analyticsの導入方法や独自ドメインに必要なことなどなどwebアプリ開発まわりに必要な多くのことをこの開発を通してQiitaやStackOverflowなどを用いながら学べました!
また、自分にとってとても大きかったことはだーすーさんたちが運営する運営者ギルドというslackに参加させてもらったことです!
Webサービスの運営者達が知見を共有して助け合うslackコミュニティ、「運営者ギルド」の参加者を募集しています!
— だーすー@Webサービス作りまくる人 (@Neko_Inu_) 2018年3月25日
良いコミュニティを作る上では、新人・初心者こそ宝です。遠慮せず参加してください!
詳細はこちら→ https://t.co/6tLbMv7WlA#運営者ギルド #Slack #Scrapbox #飲み会
このslackは何かしらサービスを運営している人たち、または僕のような個人でいつか人に使ってもらえるサービスを運営したいと思って開発していたり(あ、あまりここで言ったことがなかったかと思いますが実はそう思ってます!笑)、まだ手はつけていないけどこれから開発しようとしている人たちが集まって知見を共有し合ったり、フィードバックやアドバイスが気軽にもらえる場所です!
一度、このギルドの方々との飲み会に参加させてもらったのですが、その時の感想が以下です!
参加させてもらいました!自分はまだアプリを開発中なのですが、こういうを作ってます!と言うと皆さん、すごく熱心にどうしたらそのサービスが良くなるかとかどう広めるかどう収益化するかとか考えて、案をばんばん下さって、技術的な事もアドバイスしてくださり、参加して本当に良かったです! https://t.co/rU61klCUEq
— まさ@webアプリ開発中 (@masa_laughndie) 2018年3月28日
自分のような初心者だけど自分のサービスをいつか作って運営したいという人は是非、参加すべきだと思います!
— まさ@webアプリ開発中 (@masa_laughndie) 2018年3月28日
勉強になるし、めちゃめちゃ楽しいです!
前述したようにサービス作りにおいてもっと考えなきゃいけないことがあると切に感じれたのもこのギルドに参加したおかげです。本当に人に使ってもらうサービスを作るには当たり前の話ですがまだまだ学ぶことがたくさんあります!
技術まわりもそうですが、1つのサービスを構築する上で必要な考え方や手法なども少しずつ段階的になるとは思いますが、学んでいきたいと思います!
自分で何かサービスを運営したい、収益化とかマーケティング関連とかを学びたいという人は是非とも参加をオススメします!
作り終えての感想と反省
最初の方にも言いましたが、率直にアプリ開発は本当に楽しいです!エラーエラーで心が折れそうになることも多々ありますが、それでも自分が思い描いたように動いたりデザインが構築できたときのあの首の後ろのあたりがぞくぞくする感じ(自分だけでしょうか?いたら教えてほしいです笑)は本当に病みつきなります笑
これからもアプリ開発はずっと続けていきたいと 思います!
今回の開発の目的(技術力アップなど)としては満足のいく結果になったと思っています!
ですが、まだMysizeをリリースして4日目ですが、なかなか人に使ってもらうというのは難しいなと既に痛感してます。。。
1つの使ってもらえるサービスを作るということに関しての反省点だらけで、あげるときりがないのですが、もう少し作り始める前の段階で構想を練って軸を作るべきだということ、最初から完璧を求めようとするあまりアプリ開発自体に時間をかけ過ぎてしまったこと、結果として自己満足アプリになってしまったことなどなどです。
これらのことは次に生かして、使ってもらえるアプリやサービスを作れるように失敗を繰り返しながら少しずつ学びを増やして、いつかユーザーが本当に必要としていて使いたくなるものを作りたいと思います!
今後の方針
まず、とても自分にとっては重要な決断なのですが、現在、大学院を休学中の身ですが、これから本格的にwebエンジニアとして働くために、就活を始めていこうと思います!つまるところ、就職先が決まったら、大学院を辞めようと思います!
この半年間でエンジニアという職に就くことにおいて院卒という肩書きよりも、自分がいま何ができて、今後どう成長していきたいか、何を目指しているか、という部分が大切だということをまわりの方々を通して感じることができました。
といっても自分が今の段階でできることなんて現役のエンジニアの方々からしたら、たかが知れていることなので、本当にどうなりたくて、そのために何をしていこうとしているか、その熱意とか態度が大切なんじゃないかと思います。
現にプログラミング経験がほとんどない方でもエンジニアとして就職されている方もまわりでよく見受けられます!
また、他の理由としてはとにかく早くエンジニアとして働きたいということと、院での研究などの時間もエンジニアとして成長する時間に割きたいという気持ちが大きくなったからです。
これが合理的な選択かと言われれば、そうではないかもしれません。もっと賢くて効率の良い選択があるのかもしれません。ですが、結果的に遠回りになっても失敗に終わるかもしれなくても1度しかない人生なので、僕は僕自身が納得のいく道を進んでいきたいと思います!
ということで就活がんばります!!
あとはおそらく就活しながらなので、後回しになるかもしれませんがMysizeの改修やコンセプトそのものをもう一度考え直して、できたらもっと使ってもらえる形に変えていくつもりです!また、新しいアプリも作っていきたいと思います!
そして、この開発を通して、自分は特にデザインを考えたり構築するのが好きだなと思ったので、フロントに関すること(Reactなど)からUIUXとかのデザイン関連のことも勉強もしていこうと思います!
全部平行してやるのは自分は不器用な方なので無理だと思うので、優先順位を自分なりに設定して取り組んでいきたいと思います!
というわけでかなりだらだらと長くなってしまいましたが、、、以上です!
このブログを書いていて、本当に自分は文章を書くのが下手だなと落ち込んでおります( ;∀;)
が、特訓のために内容とかこだわらずにもうちょい細かいこともぼちぼち書き込んでいこうと思います。少なくとも2か月は空けないようにします(^^;
よかったらMysize登録だけでもしてみてください!笑
最後までお読みいただいた方、ありがとうございましたm(__)m
またよろしくお願いいたします!!