見出し画像

初めてのアプリ開発&ハッカソン

この記事について

先日 Ionic Japan Camp 2020 Spring @日本大学というアプリ開発ハッカソンに参加してきました。

自分にとっては初めてのアプリ開発、そしてハッカソンでした。そこで感じてきたことを書いていきたいと思います。

ハッカンの形式

Ionicというフレームワークを使って3日間でモバイルアプリを開発するというものです。事前学習として"Ionicで作るモバイルアプリ制作入門[Angular版]" を一読してやっておくように、とのことでした。また当日は、講師として著者の榊原さんが来てくださり、様々なアドバイスをいただきました。


Ionic Frameworkとは

HTML、CSS、JavaScriptといったWeb技術を使って、モバイルとデスクトップアプリケーションを作るためのフレームワークで、本来?はAndroid ・iPhone・webサービスのそれぞれでアプリ開発をしないといけないところを、Ionicを使えば、同一ソースですべて賄えてしまうというものです。(こんな感じであってますか…?)


当日までに…

当日までにやっておいてね、というものが大きく2つありました。まず一つが先ほども述べましたがIonicで作るモバイルアプリ制作入門[Angular版]" を一読してやっておくこと、二つ目がアプリ案を出してチームを決めておくことでした(チーム分けは運営がやってくれました)。

Ionicの勉強はハッカソンの一か月前くらいに一回ばっとやりましたが、もっとしっかりやっておくべきだったなとハッカソンを始めて思いました…。

自分はプログラムを始めてもう少しで1年。現状processingとpythonくらいしかいじってないという感じです。今回HTML、CSS、TypeScriptを書きましたが、始めはHTMLとCSSがなんとなく読めるくらいで、TypeScriptはまったくわからない状態でした。

なのでやっぱり始めは「何が何かわからないけど動く」という感じでした。ですがアプリを作ることはもっと難しいのでは?と思っていたので、初めてアプリが動いたときはとっても感動しました。ハッカソンが終わった今、やっとなんとなく、これがこうでと仕組みがわかってきました…汗

アプリ案の方はただ自分が欲しいかなと思うものを出していたので…(一日目をご覧ください)


1日目

お昼から開会式が始まり、その後会場を貸して下さった「株式会社ゆめみ」さんのお話や、榊原さんのonic で tipsysを作った際の話などを聞いてから、開発に入りました。今まで、企業がどのように開発しているのか、どんなしくみで動いているのかを知らなかったので、企業に興味を持ついいきっかけになりました。また、tipsysの話では使ってもらえるアプリケーションを作るにはどういうことが必要かを教えていただきました。

それを踏まえてまず自分たちがつくるアプリの目的や目標を発表したのですが、講師の方々にたくさんのツッコミとアドバイスを頂き、いくつかのチームはアプリ案をかなり変えました。

自分のチームもアプリ案を大きく変えたチームの一つでした。当初は自分の好きなことを書いて、必要あらばみんなに共有してもらうことができるメモやノートというユーザ対象が絞れていないアプリを考えていました。そこで言われたのが「自分の友達にそのアプリどうやって説明するの?」ということです。これが一言でバシッと返せないとまずダメだと。なるほど。今回の大きな学びの一つです。

その後チームで話し合った結果、自分が吹奏楽部だったということもあり、吹奏楽をしている人の練習の振り返りに便利なアプリを作ろうということになりました。

1日目 夜

1日目の全体での開発は18時までで、その後は懇親会がありました。みんな同じ大学の仲間なので大学の話をしたり、先生方のお話を聞いたりと楽しい時間を過ごしましたが、開発もしなければならない!ということで、最後の方はパソコン片手に参加しました。

そこで本当に基本的で、本来は聞くべきに値しないことを榊原さんに質問してしまったのですが、ここが今回のキーポイントの一つだったような気もしてます。Type Scriptがそもそもわかってなかったり、各ファイルの関係がわかってなかったのですがここでなんとか理解できました。(勉強不足です…すみませんでした)


2日目

2日目は9時から21時ごろまでチームで開発作業に当たりました。自分のチームは3年生1人、1年2人で3年生を頼りがちになってしまったのが申し訳なかったのですが、簡単な基本的な所はコーディングができたので良かったです。この日はチームで話し合ったりプログラムをとにかく書いて、わからないところは先生に聞いたりしながら、ヒーヒー言ってパソコンと四六時中向き合いました。でも不思議と苦じゃなくて、むしろアドレナリン出まくりでした(笑)今まで1日中プログラムを書いてることはなかったので良い経験にもなりました。

3日目(最終日!)

3日目は11:30から発表予定だったので、また9時から集まり、発表の資料を作ったり、アプリのアイコンを作ったり、モバイルアプリとしてビルドしたりといった作業をしていました。アプリのアイコンも考えるの大変なんですね!

結局発表までにアプリを完成させることはできず、誤魔化し有りでの発表になりました…。


発表会

いよいよ緊張の発表…!なんと出番は1番!ビビりつつ登壇してきました。

自分達のアプリは吹奏楽の練習の振り返りをサポートするというものでした。評価としては、コンセプトやユーザが絞れていて良かったというのと、google photoとの差別化が図れていないとのことでした。確かに既存アプリの調べが甘かったなという感じです。吹奏楽をやってる友人などに色々意見を聞いて機能を増やしていこうと思います。

他のチームも含め発表に対しての質疑応答や講評では、ユーザの明確性やアプリの本質、アプリの機能とデザインについてのものが多かったです。

アプリの機能は多ければ良いという事ばかりじゃなくて本質が解決できるだけの機能で十分な場合もあるとか、そのデザイン・表示である利便性など、使ってもらうアプリを作るには本当にたくさんのことを考えないといけないんだなと、とても勉強になりました。

ちなみに優勝は「ライフード」という消耗品の在庫が簡単に管理ができて、買い物の時にそれがわかるアプリでした!

その後…

ハッカソンは終わりましたが、アプリの完成ができなかったので、吹奏楽をやってる友達等に意見を聞きながら、地道にですが開発を進めています。今になってだいぶプログラムが書けるようになってきたので、やっぱりハッカソン前にもう少し勉強しておくべきだったと…。T ypeScriptがまだあんまりなのでJavaScriptも一回ちゃんとやっておこうっていう感じです。

とにかく、このアプリは完成させて公開してみる予定なのでもうしばらくお待ちください!


全体の感想

とにかくプラスになる3日間でした。まずアプリ開発についてコーディングだけじゃなく、マーケティングやアイディアの面についても学ぶことができたこと、先輩方や先生方の発表や作業している姿を見てモチベーションが上がったこと、やっぱりプログラミング楽しい!、などたくさんありました。

また、参加者の多くが先輩で、実力差を感じる事ばっかりだったので(自分が先輩方と肩を並べられるくらい何かがっつり勉強してたわけじゃありませんが…)来年までに何か大きく成長したいなと思いました。実践あるのみですよね(笑)

今回このハッカソンに参加できてよかったです!運営の皆さん、講師の先生方、会場を貸してくれたゆめみさん、レビューをしてくれた方々、そしてチームの皆さん、参加者の皆さん、本当にありがとうございました。