我正在开发一个脱机优先的Webapp(HTML5和JS),用于收集数据,该应用程序应在线时同步到MySQL服务器。我还需要从MySQL数据库中获取一个子集,以进行离线搜索(选择用于数据收集的类别/属性)。
总结一下:
我已经研究了PouchDB,但是我认为这不是正确的解决方案,因为服务器端应用程序都依赖于MySQL,并且不能全部重写。
您会提出什么解决方案?
答案 0 :(得分:1)
假设您的JS博客应用程序的顶部为Redux(例如)。
您的数据层(Redux)将数据持久保存到LocalStorage中,反之亦然,加载应用程序时,它会检查LocalStorage以及是否有数据-数据已加载到Redux中。
您的Redux包含帖子和 NewPost 。
当应用在线时,您向服务器发送请求,服务器响应一些数据,然后将这些数据存储在帖子中。
应用离线时,您不会发送任何请求,只需将新帖子存储在 NewPosts 中。
当您的应用恢复在线状态时-您将每个项目从 NewPosts 发送到服务器,如果存储成功,则将它们从 NewPosts 中删除并更新带有新内容的帖子。
在应用程序中,您首先呈现 NewPost (可能带有未同步图标或其他内容),然后呈现 News 。
希望我能正确理解您的问题。