1

我的任务是探索离线访问我的 web 应用程序的可能性。人们使用带有导轨的谷歌齿轮的经验是什么?我知道gearsonrails项目,但它有一些非常奇怪的构造,并且似乎没有处于重要的积极开发中。

还有其他选择吗?有没有人成功地将齿轮添加到他们现有的 rails 应用程序中?这是不是超级痛?

4

2 回答 2

1

Google Gears已死,开发已停止。您最好尝试使用 HTML5 解决您的问题,它实现了使离线访问成为可能的 API(可以使用类似 SQL 的语言和键值存储进行查询的客户端数据库。)在这一点上,没有主要浏览器完全实现(开发)标准。因此,您必须在针对事实上已过时的插件进行开发或针对新兴标准之间做出决定。

于 2009-12-02T21:36:44.413 回答
0

我自己正在研究这个 - 通常的想法是,根据您想要离线使用的内容,您需要在客户端进行设置(注意,这是未经测试的,因此未经验证 - 我只是从我的理解出发我已阅读 - 尽管我计划在接下来的几周内进行一些实验......)

在大多数情况下,我建议使用 Rails 设置标准的 restful 资源,然后在您的客户端库中执行以下操作:

  1. 加载页面后,确定 Gears 是否已加载,以及您的数据库在客户端上是否可用。
  2. 如有必要,创建数据库。
  3. 使用工作进程,初始化对 RESTful 控制器的调用以获取您需要的数据 - 并在数据返回时将其写入本地数据库(使用工作进程将允许“多线程”体验并确保您不要锁定客户端。
  4. 定期轮询远程服务器检查数据的变化——如果需要,拉下一个新的集合并重新加载本地数据缓存。
  5. 当客户端离线时切换到使用本地客户端数据库。

显然,这是一个只读示例,并且依赖于使用 AJAX 客户端调用在页面等中填充数据的现有架构。

你的方法可能会有所不同,但我建议只是玩一下 - 记住你不必使用 Rails 插件等来做到这一点 - 你可以自己滚动客户端脚本 - 你永远不知道,一旦你完成了你可能能够将您的工作重构为一个很棒的小宝石或类似的东西......

于 2009-07-31T02:23:55.797 回答