Firebase #2 Advent Calendar 2019 の 12/24にエントリして、それに向けてFirebaseでチャットアプリを作成してきました。
日中は本業があるので主に深夜〜早朝に作業しました。 進捗はかなり遅いですが毎日少しずつでも前に進めることを心がけました。
結局いくつかの機能を満たせないまま担当日が来てしまいましたが、一旦ここまでのまとめを記してCalendar記事とさせてもらいます。
1〜10日目
12/12に決意表明をしました。 まだFirebaseには触ってません。
プロジェクトとアプリを作成しました。 まだコードは書いてません。
ようやくコードを書き始めました。
Firebase Authenticationを使用して認証画面を作成しました。
今回はSDKを使ってベタなEメール&パスワード認証を作成しましたがとても便利でした。
FirebaseUI Authはさらに便利そう。いずれ試してみます(^^)
EメールのVerify(実在確認)機能を組み込みました。 この辺で遅い開発ペースに焦りが生じます(^^;
焦っているにも関わらず時間が確保できなかった為、小さな機能追加でお茶を濁しました(^^;;
ついにFirestoreに触り始めます。 Cloud Datastoreが大好きだったのでとてもワクワクしています。
Firestoreのクエリ機能を使いました。
この辺はDatastoreと似ているので開発もスムーズでした。
セキュリティルールを初めて書きました。
これはDatastoreにはない独特な機能ですね!
とても自由度が高く面白そうなので今後もっと深掘りしていきたいです。
メッセージの登録と一覧表示を実装して、何となくチャットっぽい動きが出来てきました(^^)
リアルタイム更新リスナーを使ってチャット更新時に自動で反映される様にしました。
これもDatastoreにない機能ですが、超絶便利ですね!!
Native modeを選択する最大のメリットだと思いました。
Firestoreだけを使ってメッセージの検索機能を作ろうとしましたが・・・あえなく撃沈しました!!
実はこれが一番やりたかった課題だったのですが・・(´・ω・`)
これを書いている途中に新しいアイディアが浮かんだので近日再チャレンジします!
チャレンジしました!!↓
検索できました\(^o^)/
まとめ
当初目標にしていた機能のいくつかは結局間に合いませんでした。反省。
以降少しペースは落ちるかもしれませんが、Firebaseの勉強を兼ねて引き続きチャットアプリに機能追加をしていきたいと考えています。