如何将离线 Web 应用程序 (HTML+JS+CSS) 与我的服务器同步?
Posted
技术标签:
【中文标题】如何将离线 Web 应用程序 (HTML+JS+CSS) 与我的服务器同步?【英文标题】:How do I sync an offline web app (HTML+JS+CSS) with my server? 【发布时间】:2010-08-23 22:00:48 【问题描述】:我是否需要实现自己的同步方法才能使离线 Web 应用程序 (html+css+js) 与服务器上所做的更改保持同步(反之亦然)?我在服务器端使用 mysql。
我阅读了Two-way sync between iPhone application and web application 的一些提示,但我认为当他们提到 CFUUIDCreate 时他们正在谈论本机应用程序,如果这对于 Web 是可能的,我会徘徊。
是否有人可以分享一些代码,或者可以为我指明正确的方向?
谢谢!
P.S.:我希望我的英语没有那么生疏;)
【问题讨论】:
【参考方案1】:在客户端存储静态内容,正如 Jethro Larson 所说,应用程序缓存清单是缓存网站静态内容(HTML、CSS、JS 和图像)的方法)。
要离线处理动态生成的内容,您可以使用 javascript 模板。这个有several solutions。
要同步两个数据库,有一个名为 persistence.js (persistencejs.org) 的项目,它是一个 JavaScript 库,它提供了一个独特的 API 来使用 WebSQL数据库、本地存储等。他们为这个库提供了一个名为 persistence.sync (persistencejs.org/plugin/sync) 的插件,它将远程数据库与服务器的数据库同步。它包含对您可以配置的特定 url 的 POST 和 GET 请求(例如 yourapp.dev/sync)。他们有一个用 node.js 和 here is one for Rails 编写的示例后端。它易于理解,persistence.sync 有据可查。
【讨论】:
【参考方案2】:查看离线缓存:http://www.webreference.com/authoring/languages/html/HTML5-Application-Caching/http://www.google.com/search?q=offline+cache+html5http://www.slideshare.net/search/slideshow?q=offline+cache
【讨论】:
谢谢,但我已经阅读了这些内容,它涵盖了缓存等内容,但我仍然对如何进行数据库同步感到怀疑。 您的要求含糊不清,我不知道如何回应。任何同步都将通过 http。没有魔术。我知道也有 html5 数据库,但我不确定这是否会对您有所帮助。 这并不容易。我想是西班牙语。我知道,这不是最好的方法。我只是在寻找一些帮助,试图了解如何编写一个实现来同步两个数据库,一个 HTML5 客户端数据库和一个由 php 访问的 MySQL 数据库。使用 UUID?也许在两边都使用自动递增的 ID 和到处的时间戳?有没有与此相关的标准? ... JSON 或 XML 是移动这些数据的选项吗?我可以通过网络套接字移动它吗? 哦。我懂了。我怀疑是否有一个标准的解决方案。客户端数据库真的很新。由于安全漏洞,我永远不会将服务器端和客户端数据库视为相同。至于数据交换,您可以使用 AJAX 请求来发送/接收数据。 Web 套接字可以工作,但我不确定有什么优势。请记住,这些规范是新的,并不能很好地支持跨浏览器。以上是关于如何将离线 Web 应用程序 (HTML+JS+CSS) 与我的服务器同步?的主要内容,如果未能解决你的问题,请参考以下文章