0

我正在尝试构建一个类似于 PivotalTracker 的视图,其中不同的存储桶中有各种行。对服务器进行了一些轮询,因为在您处理它时其他用户可能会更新行,并且页面应该自行更新而无需手动刷新它。

我知道如何轮询服务器并获取更新的行,但这不仅仅是在更新时重新绘制每一行的问题,因为该行可能会更改屏幕上的位置或顺序,也可能会被删除等。

它足够复杂,我不认为他们是用 javascript 手动完成的。

看起来他们正在做一个版本化的视图,其中只有更改的差异(在 JSON 中)在轮询时被推送到客户端,因此使用这些差异使视图与数据库保持同步。

我从未真正听说过或见过一个库来执行“版本化视图”,但也许这样的库或框架存在?或者他们有其他方法吗?谢谢!

顺便说一句,我正在使用 Ruby on Rails 来构建它。

4

3 回答 3

1

来自 Pivotal Labs 的 Mark Michael 最近撰写了一篇博客文章,详细介绍了他们的客户端架构。

http://pivotallabs.com/users/mark/blog/articles/1693-what-powers-pivotal-tracker-client-side-architecture

于 2011-08-11T08:03:44.147 回答
0

只是偷看跟踪页面源,看起来他们正在使用 YAHOO UI 小部件来做事。他们的 javascript 已被压缩(没有空格),因此费力地浏览这一切很痛苦,但在我看来,他们正在使用 yui 库来更新他们的所有视图。

于 2009-12-03T18:02:07.473 回答
0

来自 Pivotal 跟踪人员的电子邮件确认这是自定义编码解决方案。每个 UI 组件都侦听来自用户的命令。服务器可以在轮询中发送来自其他用户的命令。这听起来很复杂 - 一个本土的解决方案。

我决定只使用 RJS 构建类似的东西。还在想办法。。

于 2009-12-03T23:33:35.247 回答