2011-09-14 9 views
1

我希望能够让Javascript代码在浏览器中操作持久JSON对象,并使其与服务器和其他客户端实时同步。用于Python服务器端和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是周期性或按需syncronised,以在碰撞误差的JSON对象,所以“重”客户端代码可以处理这样的事件(它不会在示例中被捕获,但如果另一个用户在发生同步之前同时发送同一用户,则可能会由同步库引发错误)。

视图代码将在模型更改时调用并实时为用户重新呈现消息。


是否有任何库已经做到这一点,有点简单,而且是开源的?

假设它不太安全,我想添加基于cookie的用户认证和键/值验证,假设它尚不存在 - 同时仍然使用JSON,没有需要启动黑客的模式或模型。

我见过Robert Sayre的sync.js,它可能是一个关键的构建块,但我希望看到更完整的东西,并且最好已经在使用。 I.E:COMET,避免冲突/解决策略,低带宽使用等已经实施。

如果它不存在,我很乐意在熟练使用Python和Javascript的人员上开发这样的插件。


我见过http://persistencejs.org/plugin/sync - 它不是JSON,他们最终确定自己的模型类。

我不想使用像Apache Wave API那样复杂的东西。简单的原型是一个关键的目标。

回答

0

Firebase是解决您的问题的好候选人。

没有一个原生的Python库,但周围的REST API一个Python包装

参见:Firebase

Firebase home page

+0

消息传递是JSON同步有所不同。我不认为它支持它吗?另外,如果不是FOSS,那么使用开源软件会很好,尤其是在后PRISM时代。 –