PivotalTracker.com如何实时更新其视图?

时间:2009-12-02 16:53:44

标签: javascript ruby-on-rails versioning pivotaltracker

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

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

这很复杂,我不认为他们是用javascript手动完成的。

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

我从来没有真正听说过或看过图书馆做过“版本化视图”,但也许这样的图书馆或框架存在?或者他们还有其他方式吗?谢谢!

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

只是偷看跟踪页面源,看起来他们正在使用YAHOO UI小部件来做事情。他们的javascript已经被压缩了(没有空格),所以这一切都很痛苦,但我觉得他们正在使用yui库来更新他们的所有观点。

答案 2 :(得分:0)

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

我决定使用RJS构建类似的东西。仍在全力以赴..