Open2

Flutterのデータの保存(永続化)に関して

ガマリガマリ

何を調べる?

Flutterでデータを保存する方法

調査結果

Flutterの永続化は、大別すると「ローカル」「クラウド」の2つで、それぞれ以下の選択肢がある。

ローカル

  1. sqflite(SQLite)
  2. Hive

クラウド

  1. Firestore

疑問

ローカル・クラウドともにデータを永続化したい場合、どうすればいんだろう?

ガマリガマリ

何を調べる?

ローカル・クラウド、両方ともにデータを永続化する方法。
(目的としては、オフラインでも使えるようにしたい。

調査結果

Firestoreの機能で、オフライン時にもよしなにデータを保存してくれる機能があるらしい。

https://zenn.dev/yskuue/articles/85553cde9ad8ef

オンラインに戻したタイミングで、firestoreにも変更が反映された。

オフラインからオンラインに切り替わっても、データの差分を反映してくれるっぽい。

https://mono0926.medium.com/firestore-offline-edee47ee72cc

isPersistenceEnabled が true の時にローカルでの永続化が有効になります。これがデフォルトなので、何もしなくてOKです🙆

めっちゃ便利。
細かいこと気にせずに保存をすれば良さそう。
逆に、ローカルストレージに同時にデータを保存すると、同期処理でおかしなことになるから、特に理由がなければFirestoreのデフォルト機能を使うのが良さそう。

どうする?

データ永続化をしたいなら、とりあえずFirestoreで良さそう。