html - 将本地 HTML5 DB(WebSQL 存储,SQLite)与服务器同步的最佳方式(2

就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the help center寻求指导。
关闭9年前

我正在开发一个带有本地数据库(使用 html5 网络存储)的移动网络应用程序(适用于 iPhone 和 Android),因此当用户离线时我的应用程序仍然可用。

这是完美的工作,但我想将本地数据保存在服务器上。所以我需要将本地数据库与服务器上的数据库同步。同步只能是一种方式,但将来我想以两种方式同步(服务器本地数据库)。

这种要求看起来很常见(或者将来会在移动网络应用中很常见),但我找不到这样做的库。

我知道谷歌正在他们的移动网络应用程序(例如 gmail)中这样做,我找到了 WSPL project一个谷歌项目,但没有可下载的源代码。

如果我找不到解决方案,我将创建一个库来执行此操作,因为同步的一种方式看起来并不困难,但我想知道是否还有其他解决方案。

最佳答案

  • 我创建了一个名为 WebSqlSync 的小型 JS 库,用于将本地 WebSql DB 与服务器(客户端 服务器)同步。非常易于使用并集成到您的代码中:

https://github.com/orbitaloop/WebSqlSync

  • 开源项目 QuickConnect 包含一个 JS 库,用于将本地 HTML5 SQLite DB 同步到服务器 DB(MySQL 或其他):

http://quickconnect.pbworks.com/Using-Enterprise-Synchronization

要使用这个库,您需要使用框架的 DataAccessObject 来访问您的数据库。它通过存储应用于数据库的所有 SQL 请求(当然选择除外)并将它们发送到服务器来工作。管理删除很好,但是如果你有很多更新,那就有点繁重了,而且服务器需要使用相同的SQL语言......

  • QuickConnect 的另一个项目是原生 SQLite 同步(在 iOS 或 Mac OS 的 Objective C 和 Android 的 Java 中):

http://www.quickconnectfamily.org/qcdbsync/ (我认为它还存储了所有 SQL 请求的历史记录)

  • 我刚刚发现了另一个有前途的 JS 库:persistenceJS

https://github.com/zefhemel/persistencejs

“persistence.js 是一个异步 Javascript 对象关系映射器库。您可以在浏览器中使用它,也可以在服务器上使用它(您可以在它们之间共享数据模型)。​​”

他们有一个数据库同步模块:DOC of persistence.synch.js

(在客户端使用 HTML5 DB SQLite 或 Google Gears,在服务器上使用 MySQL)

  • 还有 Impel.inTouch。它看起来很容易使用(包含 php 文件),但您必须在客户端使用 Mootools 框架:

http://impel.simulacre.org/api/Impel.inTouch

  • Sencha 还有一个同步服务:Sencha.io。看起来不错,但它依赖于 Sencha Touch 框架:

http://www.sencha.com/products/io/

关于html - 将本地 HTML5 DB(WebSQL 存储,SQLite)与服务器同步的最佳方式(2 路同步),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1744522/

相关文章:

mongodb - 何时在 MongoDB 上使用 CouchDB,反之亦然

database - MongoDB 或 CouchDB - 适合生产?

mongodb - 如何列出 MongoDB shell 中的所有集合?

mongodb - 查询数组大小大于 1 的文档

mysql - 何时使用 MongoDB 或其他面向文档的数据库系统?

javascript - 防止下载 HTML5 视频(右键保存)?

javascript - 在 Vue.js 中显示未转义的 HTML

javascript - 如何更改标签的文本?

mongodb - 如何从命令行删除 MongoDB 数据库?

javascript - 输入触发器按钮单击