きょこみのーと

元六本木でGo書いてました。今はVRでGo書いてます。

Androidアプリを初めてリリースして思ったこと

すみません。今回はあまり技術的な内容じゃないです。

今回、初めてアプリをリリースしたのですが、 Androidアプリ開発って結構敷居が低そうに見えて、実はリリースまでちゃんと計画して実行するのはとても大変だなーと改めて感じました。

なので、技術大好きな目線でAndroidアプリリリースするまでにやったこと考えたことを残したいと思います。

技術大好きだけどアプリリリースもやってみたいという人の役に立てればと思います。

step.1 技術調査とやりたいことを決める(とても楽しい時間です)

技術的にやりたいこと取り入れたいことをきめる。環境を構築して、ある程度使いたいライブラリが動作するところまで持っていく。

(楽しすぎて我を忘れないように、多すぎると膨らみすぎて収集がつかなくなるのである程度絞る)

決めるのは、使いたいライブラリや機能でも、なんでもいい。

今回私がチョイスしたものは以下。

例:

  • Yahoo天気APIとか
  • greenDao(SQLiteのORマッパー的なやつ。コード自動生成)
  • NavigationDrawer(左からぐいっと出てくるメニュー)
  • jsonPullParser(通信結果のjsonのパース)※習得済み
  • Volley(通信ライブラリ)※習得済み

いつも、大体ここで終わってしまう。。。満足しちゃう。

しかし、いざリリースまで持って行こうとすると結構アプリが落ちたりする問題が起きたり、不安定な実装だったりとか中途半端な知識で終わってしまうので、最後まで頑張るといい事があります。

とにかく膨らみすぎないようにするしかない。ある程度つかったことがあるライブラリや技術で妥協しましょう。

step.2 コンセプトを決める(隙間時間とか使って、サクッと決める)

アプリのイメージ、コンセプトを決める。step1の途中でも考えておく。

通勤中とか洗い物してる時とか、とにかくいつでもいいから、技術的な面じゃなくてアプリとしてのゴールをちゃんと考えておく。

(色々と膨らみすぎないようにするため)

紙とかにサクッとイメージ書いて箇条書きで必要そうな機能をまとめておく。 終わりを意識するため、チェックボックスをつけて順番にこなしたりしてた。

例:

  • 指定した時間に天気をチェックして、雨が降りそうか通知する

↑を実現するために必要な実装。

  • 時間を指定する機能
  • 指定した時間に起動する機能
  • 天気をチェックする機能
  • 通知する機能

step.3 アプリを作る(技術とアプリのイメージを合わせて形にする)

step.1のコードとかを元に本格的に開発を進める。

この頃には、やりたかった技術はある程度把握して飽きてたかもしれない、なので機能面は結構あっさり完成する。

(しかし、実際にちゃんと動くものになってきて、初めて見えてくる問題とかもあるから満足するのはまだ早い!!)

レイアウトや、画面遷移、使い勝手を考え始めると結構苦戦するので、細かいものは開き直って2次リリースに回すのも一つの手。

githubのissueなどに登録して残しておくといいかも。)

レイアウトは、コード書きが好きなエンジニアは苦戦すると思う。

いっそ、机上で悩む位ならとりあえず適当に並べて動かしながら考えるか、他のアプリやAndroid標準アプリのレイアウトとかを参考にしてしまうのも手かと。

とにかく膨らみ過ぎないようにすることを意識する。

リリース後のことを考えすぎると途中で挫折してしまうので、 最低限の機能で見た目も最低限わかるレベルでとにかく完成させる。

step.4 リリース作業(めんどうなので、勢いでやる)

リリースにあたって、ほぼ必ず必要となることは結構ある。

以外と面倒だったりするので、アプリ完成後にまた今度やろうとしないで、完成させた勢いでそのままやるといい。

(ちなみにデベロッパー登録は事前にやってる前提です。)

  • アプリの証明書の作成
  • ProGuardの設定
  • GoogleAnalyticsの導入
  • Google Developer Consoleでのアプリ登録(apkアップロード、スクリーンショット設定とか)

以上、とても個人的な日記みたいな感じですが、初のアプリリリースまでの流れでした。

最後に

正直、開発中は他にも良いアプリがあるから出すのをやめようとかそういう気持ちで諦めてしまうことも多々ありましたが、色々と知ったかぶりなだけでリリースまでやったこと無いのとあるのでは全然違うので、ぜひ諦めずに続けていくことをオススメします。

Get it on Google Play