2017年10月3日に、GoogleからFirebase Realtime Databaseの後継にあたるCloud Firestoreが発表されました。
今、実際に開発中の未リリースのiOSアプリに導入していて色々知見が貯まってきているのですが、本記事では特にFirestoreのオフライン動作サポート周りについて焦点を当てていきます。
2017/12/01時点で、Firestoreはまだベータ版なのでプロダクション利用は慎重に検討することをおすすめします。
前置き: Firestoreをざっと紹介
本題の前にFirestoreをざっと紹介します。Google Developersブログによると次のように紹介されています。
モバイルおよびウェブアプリ開発用のフル マネージド(Fully Managed)型の NoSQL ドキュメント データベースです。世界規模でアプリデータを簡単に格納して同期できるようにデザインされており、ベータ版として利用できるようになりました。
Firebaseサービス配下には元々似たものとしてRealtime Databaseがあります(というより、Googleに2014年に買収される前はこれこそがFirebaseでした)。どちらもリアルタイムデータベースという括りでは同じですが、FirestoreはRealtime Databaseに比べて、主に次の点で優れています。