ionic / cordova 中的 Firebase 离线功能
Firebase offline capabilities in ionic / cordova
是否有人在 Android/iOS 中使用 Firebase 实现了具有完整离线功能的本机应用程序?
这可以在 Cordova/Ionic 中使用使用本机 Firebase SDK 的插件来完成吗?
我们正在构建一个在下载和首次启动时连接的应用程序,但随后我们必须假设有一段时间没有更多的互联网连接,并且数据库中的所有内容都必须离线可用。 Firebase 是否适合此要求,还是我们必须使用 CouchDB/PouchDB 或任何其他替代方案?
编辑:
这个问题涉及到 firebase 实时数据库。我相信使用新的 firebase Cloud Firestore 可以开箱即用地支持 ionic 的离线功能:
https://firebase.google.com/docs/database/rtdb-vs-firestore
实时数据库:仅对 iOS 和 Android 上的移动客户端提供离线支持。
Cloud Firestore:对 iOS、Android 和 Web 客户端的离线支持。
在他们的 JS SDK 中没有对 firebase 的真正 "offline" 支持。他们现在拥有的离线解决方案意味着如果您失去互联网连接,您将获得离线支持,如果连接中断 "online",数据将同步回来。但是,如果您在再次上线前关闭应用程序,您的 "offline" 数据将丢失。
这是一个 Cordova firebase 插件 https://www.npmjs.com/package/cordova-plugin-firebase 但它还不支持实时数据库。如果你愿意,你可以尝试扩展它。
如果您必须有离线支持,我建议您使用 SQLite 或您提到的 CouchDB/PouchDB。
您可以使用以下项目 -
AngularFire2-offline
它的目的是为支持浏览器(支持服务工作者)启用离线数据访问 -
List of browsers (and matching versions) that support service workers
它是这样工作的 -
- 在线时,Firebase 数据存储在本地(随着数据更改,本地存储也会更新)
- 离线时,如果可用则提供本地数据,写入存储在本地
- 重新连接后,应用会使用新的 Firebase 数据进行更新,并将写入内容发送到 Firebase
- 即使在线,也会首先使用可用的本地数据,从而加快加载速度
是否有人在 Android/iOS 中使用 Firebase 实现了具有完整离线功能的本机应用程序?
这可以在 Cordova/Ionic 中使用使用本机 Firebase SDK 的插件来完成吗?
我们正在构建一个在下载和首次启动时连接的应用程序,但随后我们必须假设有一段时间没有更多的互联网连接,并且数据库中的所有内容都必须离线可用。 Firebase 是否适合此要求,还是我们必须使用 CouchDB/PouchDB 或任何其他替代方案?
编辑:
这个问题涉及到 firebase 实时数据库。我相信使用新的 firebase Cloud Firestore 可以开箱即用地支持 ionic 的离线功能:
https://firebase.google.com/docs/database/rtdb-vs-firestore
实时数据库:仅对 iOS 和 Android 上的移动客户端提供离线支持。
Cloud Firestore:对 iOS、Android 和 Web 客户端的离线支持。
在他们的 JS SDK 中没有对 firebase 的真正 "offline" 支持。他们现在拥有的离线解决方案意味着如果您失去互联网连接,您将获得离线支持,如果连接中断 "online",数据将同步回来。但是,如果您在再次上线前关闭应用程序,您的 "offline" 数据将丢失。
这是一个 Cordova firebase 插件 https://www.npmjs.com/package/cordova-plugin-firebase 但它还不支持实时数据库。如果你愿意,你可以尝试扩展它。
如果您必须有离线支持,我建议您使用 SQLite 或您提到的 CouchDB/PouchDB。
您可以使用以下项目 - AngularFire2-offline
它的目的是为支持浏览器(支持服务工作者)启用离线数据访问 - List of browsers (and matching versions) that support service workers
它是这样工作的 -
- 在线时,Firebase 数据存储在本地(随着数据更改,本地存储也会更新)
- 离线时,如果可用则提供本地数据,写入存储在本地
- 重新连接后,应用会使用新的 Firebase 数据进行更新,并将写入内容发送到 Firebase
- 即使在线,也会首先使用可用的本地数据,从而加快加载速度