gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 11:10:26 27 4
gpt4 key购买 nike

我正在开发一个带有本地数据库(使用 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/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com