AIエンジニアが(約)一ヶ月でアプリをリリースした話
こんにちは、りぼっちです。
とうとうアプリをリリースすることが出来ました。
8月29日に思い立った時、一ヶ月あればいけるやろ!っと思ってましたが、最終的には iOSアプリが 9/30、Androidアプリが 10/6 に審査を通過してリリース出来ました。おしかった😭
あの時のリジェクト が無ければ、あの時息子ちゃんが熱を出さなければ、、、っと言っても仕方がありません。そもそも今回の開発はリリースすることが目的だったので、達成としましょう。
ってことで、リリースしてみて思ったことを記録に残します。
なぜアプリを作ろうと思ったか
以前からアプリ開発には興味があったのですが、なかなか手が出せずにいました。しかし、どうしても開発したいアプリができて、これのウォーミングアップとして、いったんアプリのリリースを経験しようと思い、開発してみたのが今回の流れです。
なぜバーナーリストを作ったのか?
リリースが目的だったので、超簡単に作れるアプリが良かったのですが、既に世の中にあるものを作っても面白くないので、バーナーリストを作ってみようと思いました。あまり使い方が分からないまま作ってしまったので、使いやすさとかは分からないままですが、やっぱり自分が使いたちものを作る方が良いと思いました。
開発の流れについて
開発の流れは、以下の通りです。っと言っても、ワイヤーフレームを作るイメージが強くて、最初はいきなり作ろうと思ったのですが、その前に必要なものが色々あるなと思い、機能一覧やロゴを作ったっという感じです。
1. 機能一覧を作る
2. ロゴやカラーチャートを作る
3. ワイヤーフレームを作る
4. 技術的な仕様を決める
5. 開発
6. テスト
7. リリース
これで本当に良かったかどうかは分かりませんが、なんとなく、こんな感じでしょう。
思った以上に難しかったところ
DB設計
開発は全体的に簡単でサクサク作れたのですが、思っていた以上に難しかったのが Firestore の設計です。どうしてもRDB脳から抜け出せず、1:N構造の情報を別コレクションで作って、お互いの参照を作るみたいなことをしようとしてしまいました。最終的にはサブコレクションという素晴らしい機能の恩恵を受けることがでいましたが、まだ慣れません。
もう一つ Firestore で失敗した点があって、それは問い合わせのデータ構造です。問い合わせ内容を確認する専用のツールを作りたく無かったので、Firebaseのコンソールから Firestoreのステータス情報をフィルタリングすることで問い合わせ内容を確認することにしました。このとき、データの作成者とリクエストするユーザのIDを参照して権限のルールを以下のように作ろうと思っていたのですが、これが出来ませんでした。
if get(/databases/$(database)/documents/inquiries/$(inquiry_id)).data.userId == $(request.auth.uid)
おそらく、コレクションの中身を確認しないと取得できない情報は書き込みとかは制限できるが読み込みは制限できないのかな?ちょっと分かりませんが、思ったようには出来なかったので、その部分だけは以降気をつけたいと思います。
今回は、これでいかせてください。お願いします。🙇♂️
詳細はこちら
やらなくて良かったこと
作業量的にLPを作るのは厳しかった
LPを作る。当初はLPを作る予定だったのですが、アプリ以上にデザインが難しく、そもそも載せる情報もほとんど無かったので、作業量の観点でLPを作るのは途中で断念しました。しかし、逆にLPがあるようなアプリは、やっぱり信頼がおけるアプリなんだな!という確信も得たので、これから本気で取り組むアプリに関してはLPを作りたいとは思っています。
毎日noteの更新はキツかった
そもそも自分から情報発信するのが苦手なのですが、今回はやったことの履歴を自分のために残しておこうと思って note に日記みたいなものを書きました。前半は良かったのですが、後半になってデバッグなどの作業のときなど何も書くことが無かったりもしたので、かなりの負担になりました。
文章を書くことも、それほど得意では無いので、日々の更新にも時間を取られていると感じて、途中でやめてしまいました。
ちょっと悩ましいですが、毎日更新にしてしまうと日々の情報量の粒度もまちまちに成ってしまうので、まとまったタイミングで note か Qiita に起こすなどして、日々の知見は Twitter で発信するくらいで良かったのかもしれません。
リリースして分かったこと
はじめて iOS と Android を作って審査に出してリリースしました。思っていた以上に簡単で、アプリ作ろうと思ってから一ヶ月でなんとか成るもんだなと思いました。審査に出してからが、ドキドキな毎日で早く審査終わらないかなぁ〜っと待ち遠しく思っていました。
あと分かったのは、運用を途中で止められないってことを思いました。適当に作ったアプリでも、リリースしてみるとインストールしてみてくれる人がいて、公開中止にしずらいなぁと思いました。それでも、ずっとメンテしていくのはシンドイので、そのうち公開中止するかもしれませんが。
最後に
今回は、軽い気持ちでアプリ開発を始めましたが、思っていた以上に簡単で面白かったです。引き続きアプリを作っていこうと思います。
PS.
文章が下手ですみません。本当に情報発進が苦手なもので
この記事が気に入ったらサポートをしてみませんか?