アプリ開発でFirebaseを使って感動した話

Firebase Startup #2に参加するために、赤ちゃんの夜泣きに奮闘するママやパパを応援するアプリ「月夜のうさぎさん」の開発を行いました!今回は一部開発を担当したmochiが技術的な面について書きたいと思います。

Firebase Startup #2については下記の記事をご覧ください。

どんなアプリ?

夜泣きの対応をしている間に、アプリを開いて同じように夜泣き対応をしているママやパパとコミュニケーションが取れるアプリです。

チャットアプリとは異なり、言葉ではなくスタンプのみでやりとりを行います。

赤ちゃんをあやしながら文字を打つというのは大変なので、投稿へのハードルを下げ、かつ、お互いに励まし合えるような作りにしました。

また、赤ちゃんの夜泣きの状況を毎日レコーディングし、「この時間帯に◯◯分くらい泣く」「以前に比べたら夜泣きの時間が減ってきた」というような、夜泣き状況を可視化できる、レコーディング機能も備えています。

レコーディング機能は追々、夜泣き状況のデータを解析し夜泣きの傾向・タイプ分けなどに利用し、同じタイプの子を持つママやパパの、おすすめ夜泣き対策を紹介できるような機能に発展させていく、という展望を持っています。

データの解析までは時間がかかりそうですが、夜泣きの対応をしていると必然的に対応しているママやパパの睡眠時間も短くなってしまうので、「寝れていない」ということを数字として把握するためにも使えるのでは?と思っています。


機能

  1. ログイン、ログアウト機能
  2. アクティブユーザー数を表示する機能
  3. スタンプを投稿、表示する機能
  4. 睡眠時間、夜泣き対応時間を記録、表示する機能


画面イメージ

発表用のデモアプリの画面キャプチャがこちらです。

左の画面が、ユーザー同士の交流が行える「夜泣き仲間が集う場所機能」、左側が赤ちゃんの睡眠や夜泣き時間を記録する「レコーディング機能」となります。(エンジニアがごりごり書いたので、デザインは目を瞑ってください^^;)


今までの開発で、アプリ開発前に必要だったこと

今までの開発であれば、今回のようなアプリを作ろうとした場合、APサーバー立てて、DBサーバー立てて、穴あけして、、と、アプリ側の開発に取り掛かれるまでにやることが山積みでした。

個人開発で行おうとすると、インフラからアプリまで全ての設計から設定・開発を行う必要があり、いわゆるフルスタックエンジニア、志の高いスキルを持ったデキるエンジニアでなければ、個人でアプリを全て開発することは困難でした。

私も何度か週末企業やノマドワーカーに憧れて、個人開発を行ったことがありますが、やりたいことまで辿り着けずに頓挫することがほとんどでした。


Firebaseを使うといきなりアプリ開発に着手できる!

今回のアプリは2人で通常業務の合間を縫って開発を行いました。

普段の業務で扱っているFirebaseはほぼAnalyticsなので、開発者2人とも他のFirebaseの機能は全く扱ったことがなく、開発期間も1ヵ月くらいしかないから、とレコーディング機能は実装せず、1~3の機能だけ(実質1ページのみのアプリ)を実装して発表を迎える予定でした。

しかし、アクティブユーザーの表示とログイン&ログアウトの実装が、開発開始から1週間経たずに完了し、この進捗ならもう一つ機能増やせるのでは?とレコーディング機能の一部も実装しました。

まだまだできるのでは?と思わせる取っつきやすさはFirebaseの大きな魅力の一つだと感じました。


初めてeclipseを使ったときのような感動!

個人的には、初めてeclipseを使ったときのような感動を思い起こすような体験でした。

大学でプログラミングを学び始めた時、ずっとただのエディタを使ってプログラムを書き、コンパイルするのもコマンドを使っていました。importは自分で書かないといけないし、スペルミスはコンパイルしてからわかるようなところから、自動で保管してくれてスペルミスなんかも実行前に教えてくれてなんて便利なんだ!と、とても感動したのを覚えています。

この例えは、社内ではあまり共感を得られませんでした(笑)が、発表時にはうなづいてくれる方もいらっしゃいました!

よく「Firebaseを使うとコスト削減になります!」と謳われますが、今まで正直ピンときていませんでした。「とか言って、エンジニアが大変なのは変わらないでしょう?」と。

実際に開発を行ってみると、「ははーん、なるほどね」と納得することができました。

設計や仕様検討を行う作業は変わりませんが、Firebaseオンリーで開発を行う場合、インフラ担当を別途アサインする必要がなかったり、Firebaseで用意されている機能に乗っかることで、今まで実装する必要があった機能を実装する工数が削減できたりします。(ただし、セキュリティルールの設定などを怠ると情報流出のリスクは高くなるので、学習コストは惜しまないでくださいね!)

また、運用面でも、物理サーバーの費用はもちろん、AWSなどのクラウドサーバーを使用した際にもかかってくるランニングコストも、Firebaseであれば無料枠が大きく設定されており、無料枠を超えても従量制と使った分だけの支払いですむので、特にリリース直後などのサーバー運用費がまるっと赤字になりやすい状況でも、コストを抑えて運営することができます。エンジニア的にも開発がとても楽になるので、どんどん広まって、業務系アプリの開発などでも使われて欲しい!と思います。

シンプルメーカーでは、Analyticsを使った解析のサポート以外にも、Firebaseを使ってアプリを作りたいというご要望にも対応可能です!

※掲載内容は、記事公開時点のものです。紹介されているサービス内容は変更される場合がありますので、ご利用の際は事前にサービス提供元等をご確認ください。

mochi

SIerで3年、Web制作会社で3年、主にWeb系のJava、Androidエンジニアとして働いてきました。2015年から3年、出産・育児で開発を離れており、2019年4月からシンプルメーカーで勤務しているママエンジニアです。現在はFirebase案件を担当しています。

Firebaseなら銀座ITラボ

銀座ITラボは、Firebase、iOS/Androidアプリ、AI、クラウドサービス等の技術情報に関する記事を紹介するシンプルメーカーのオウンドメディアです。

0コメント

  • 1000 / 1000