【发布时间】:2011-09-14 01:20:43
【问题描述】:
我希望能够让 Javascript 代码在浏览器中操作一个持久的 JSON 对象,并让它与服务器和其他客户端实时同步。
我已经在使用 MVC 分离。 我希望能够做这样的事情:
function sendMessageToUser(username, message){
messageID = window.model.userMessages[username].messages.length;
window.model.userMessages[username].messages[messageID] = message;
window.requestModelSync();
}
在此示例中,window.model 是一个 JSON 对象,它会定期或按需同步,在发生冲突时会出错,因此“重”客户端代码可以处理此类事件(示例中没有捕获它,但如果另一个用户在同步发生之前同时向同一用户发送消息,同步库可能会引发错误)。
视图代码将在模型更改时被调用,并为用户实时重新呈现消息。
是否有任何库已经做到这一点,而且有点简单,而且是开源的?
假设它不那么安全,我想向它添加基于 cookie 的用户身份验证和键/值验证,假设它不存在 - 同时仍然使用 JSON,不需要架构或模型来开始黑客攻击。
我见过 Robert Sayre 的 sync.js,它可能是一个关键的构建块,但我希望看到一些更完整的东西,最好已经在使用中。 IE:COMET、碰撞避免/解决策略、低带宽使用等已经实现。
如果它不存在,我很乐意与精通 Python 和 Javascript 的人一起开发这样的插件。
我见过http://persistencejs.org/plugin/sync - 它不是 JSON,他们最终定义了自己的模型类。
我也不想使用像 Apache Wave 的 API 这样复杂的东西。原型设计的简单性是一个关键目标。
【问题讨论】:
标签: javascript python database browser nosql