【问题标题】:Offline first app and data sharing between users离线第一个应用程序和用户之间的数据共享
【发布时间】:2021-10-23 13:15:04
【问题描述】:

如果可能,我想开发具有三个组件(客户端应用程序、服务器应用程序、数据库)的跨平台应用程序。特别想离线使用。

应用类似于 TODO 应用。我想做一个 TODO 应用,一开始就尝试。

  1. 用户在没有任何互联网连接的情况下使用该应用程序。它们在首次使用时使 CRUD 操作脱机。用户可以无限期离线使用。

  2. 如果用户想注册到应用程序,所有用户的数据同步到在线数据库,并使用离线或在线。数据可以在每天的特定时间同步。

  3. 用户与其他用户共享一些数据并离线/在线使用。

我该如何处理这些情况。是否有任何示例/文件/建议:)

谢谢。

我研究了很多平台。

也许 pouchdb/couchdb 可以处理前两种情况,但我认为第三种情况很复杂,每个用户都有 couchdb,我不想直接连接到数据库,我想使用应用服务器作为中间件。

看到了dexiejs、Mendix、logux、Mango realm,......

我猜我看到的不太符合要求。

我将专注于 PWA。

【问题讨论】:

  • 研究一下“Progressive Web Apps (PWA)” 的工作原理。另请参阅:How much research effort is expected of Stack Overflow users?。这个问题对于 SO 来说太宽泛了,因为它目前是写的
  • 我研究了很多平台。也许 pouchdb/couchdb 可以处理前两种情况,但我认为第三种情况对于每个用户的 couchdb 来说很复杂,而且我不想直接连接到数据库,我想使用应用程序服务器作为中间件。我看到了dexiejs,Mendix,logux,Mango realm,……我估计我看到的不太符合要求。我将专注于 PWA。
  • 您无法与离线用户实时共享任何内容。创建同步策略绝非易事
  • Couch/Pouch 非常适合最终同步的离线用例。案例#3 解决了(最终一致性),但如果有很多客户流失 - 在许多用户中一个文档的更改率相对较高 - 那么有意义的冲突 (409) 解决方案是最难的问题。但是是可以解决的。

标签: web-applications couchdb offline pouchdb data-synchronization


【解决方案1】:

使用 CouchDB,您可以让用户访问属于不同用户的数据库和文档,直至文档级别。

您需要查看“用户”和“角色”的工作方式,并且需要查看“设计文档”以设置用户可以访问什么以及如何处理他们在特定数据库中可以访问的文档。

PouchDB.com 网站上有一些很棒的文档和示例代码可以帮助您开始使用它。查看他们的“插件”页面,特别是“pouchdb.authentication.js”和“CouchDB 身份验证配方”here

【讨论】:

  • 谢谢。我会审核您的建议。
猜你喜欢
  • 1970-01-01
  • 2018-08-05
  • 1970-01-01
  • 2021-01-08
  • 2014-06-04
  • 1970-01-01
  • 1970-01-01
  • 2014-11-03
  • 2019-03-29
相关资源
最近更新 更多