我刚偶然发现了这个问题; 为了后代,CouchDB和CouchBase就是为此而设计的:
JavaScript客户端:
还有CouchBase:
最后,CouchBase Lite / Mobile:
https://www.couchbase.com/products/lite
后者可以让你实现本地CouchDB / CouchBase同步。
在所有情况下,你只需访问本地数据库,它可以在连接到互联网时进行同步。
Store.js 很好地处理了客户端存储。请注意,它支持IE6+以及其他浏览器。对于服务器端的存储,您可以自己编写脚本,因为这不应该很难。
我不是100%确定,但我认为没有这样的框架。我建议看看Google Gears。
Google Gears支持客户端离线存储。
另一种方法是查看TidlyWiki的源代码。他们创建了一个维基系统,将所有数据存储在客户端上。
我不知道现在是否有任何库可以做到这一点。虽然这是一个可能的想法,但我必须说我不确定制作这样的库是否值得努力。
它将不得不提供如何将服务器数据公开给库、如何计算增量等示例。这将迫使开发人员相应地更改服务器端代码以符合库的协议。 这对于新的应用程序和网站可能很好,但对于任何具有特定数据结构的现有站点来说,这可能会带来痛苦,因为实施这个功能并不比使用当前已经公开的数据自己开发JavaScript更可取。 所有这些加上潜在的安全问题将很难在一个通用的JavaScript库中进行管理。
在我看来,这是一个很好的想法,可以为特定ORM基于MVC框架(例如Ruby on Rails或Django)制作捆绑包或插件。由于框架本身具有对数据结构的抽象和许多安全修复已经捆绑在一起,因此制作一个捆绑包来完成这项工作将更具可重用性和更优雅。
jsonengine
是一个服务器端 RESTful API 的实现。它提供了使用示例,可以将数据持久化到服务器或客户端本地存储中。然而,它并没有为客户端和服务器之间的同步做任何事情。 - Julien Kronegg我一直在研究这个问题。使用Google文档似乎几乎可以实现。大多数API都可以通过Javascript访问。不幸的是,其中的例外包括上传和下载等内容,因此虽然可以从浏览器内部枚举文档、创建文件、更改元数据等,但实际上获取数据要困难得多。
Google电子表格确实有用于访问单个单元格的Javascript API,因此理论上可以将数据存储在电子表格中。不幸的是,在API中还有另一个问题,似乎很难向先前没有数据的单元格写入数据,这意味着一旦创建了空电子表格,就无法填充它...