最近個人開発を始めるなかで、Firestoreを使う機会があったので、今までなんとなくでしか理解できていなかったFirebaseを勉強してみようということで実践Firestoreという本を読み始めたので、簡単にFirestoreの特徴についてまとめてみたいと思います。
セキュリティルール
Firestoreでは、クライアントから直接データベースへアクセスして読み書きを行います。
セキュリティルールとは、データの機密性と完全性を担保するための記述するものです。
セキュリティルールを記述することで、Firebase上にデプロイすると、記述されたルールに従ってFirestoreへリクエストが行われます。
リアルタイムリスナー
リアルタイムリスナーは、Firestoreの最新の状態をクライアントに同期するための仕組みです。
これによって、ユーザー間でリアルタイムのデータ共有が可能になります。
また、Firestoreのリアルタイム・リスナーは、ネットワーク切断が起こったときの例外ハンドリングや切断状態から自動で復旧する能力を備えています。
さらに、リアルタイムリスナーは、サーバーサイドで起こったデータの変化を、サーバーサイドからクライアントに向けて通知するので、リアクティブシステムとの親和性が高いのも特徴です。
オフライン対応
Firebaseでは、不安定なネットワーク下でもアプリケーションを稼働させるための機能を備えています。
Firestoreでは、データの書き込みのオフライン対応としてオペレーション・キューが実装されており、オフライン時に行われた書き込み要求はエラーとならず、キューに蓄積されます。
このような対応力があるので、Firestoreでの書き込み処理がエラーになることは、ほぼほぼありません。
データの読み込みに関しては、オフラインでのデータ永続化の有効・無効を設定できるので、オフラインを有効にするとオンラインの間にFirestoreと読み書きしたデータが透過的にキャッシュされるようになります。
サーバーに接続できない状況でデータの読み取りリクエストを発行すると、キャッシュにあるデータが返却されます。
最後に
以上Firestoreの特徴的な機能についてでした。
参考にさせていただいた本が、とても良書でFirestoreを使うなら一読する価値は非常にあると感じました。
また、読み進めたらまとめてみたいと思います。