Javascript firebase实时web数据库是否具有PWA脱机功能
我有一个web项目,我使用了很多firebase实时数据库,现在我想把我的应用程序转换成PWA,所以我想做两件事Javascript firebase实时web数据库是否具有PWA脱机功能,javascript,firebase,firebase-realtime-database,progressive-web-apps,offline,Javascript,Firebase,Firebase Realtime Database,Progressive Web Apps,Offline,我有一个web项目,我使用了很多firebase实时数据库,现在我想把我的应用程序转换成PWA,所以我想做两件事 当用户安装应用程序时,我希望缓存数据库的某些部分 当用户脱机并转到试图从firebase下载内容的页面时,我希望从缓存返回此数据 当用户执行某些操作时,通常是在线的,我将数据保存在数据库中,我希望firebase将其保存到“缓存”中,当连接出现时,将其保存到数据库中 看起来firebase for android可以做到这一点 (ttps://firebase.google.com/
()Firebase realtime DB仅为移动(iOS/Android)开发提供离线功能。如果您需要脱机持久性,那么您应该选择 您将收到您在问题中指出的功能。每当用户读取某些文档时,这些文档都会在本地缓存,甚至可以脱机使用(完整的CRUD操作可用)。有40MB的缓存阈值,超过该阈值后,将删除最旧的文档。您可以更改此值,增加或减少缓存量 要启用它,请执行以下操作:
//For mobile development, it is turned on by default
firebase.firestore().enablePersistence()
.catch(function(err) {
if (err.code == 'failed-precondition') {
// Multiple tabs open, persistence can only be enabled
// in one tab at a a time.
// ...
} else if (err.code == 'unimplemented') {
// The current browser does not support all of the
// features required to enable persistence
// ...
}
});
我(关于PWAs系列的一部分)在这里解释了如何使用Cloud Firestore离线持久性来克服缓存API限制,因为它只允许缓存GET请求。
那么你应该选择Cloud Firestore。
这里的问题是我已经在实时数据库中编写了很多代码。你认为在我的例子中最好(最简单)的方法是将完整的应用程序重写到firestore吗?自从上次我使用realtime DB已经有很长一段时间了,但就我所记得的而言,API的差异并没有那么大。我不知道您是如何设计您的解决方案的,但我还必须将实时数据库解决方案移植到Firestore解决方案中,这不是一项大的工作。因此,我建议转到Firestore,特别是考虑到离线存储和PWA的好处。我还将此解决方案用于我的项目(如我的PWA文章中所述)。