【问题标题】:Open Source remote / distributed / persistent JSON object library for Python serverside and Javascript clientside?用于 Python 服务器端和 Javascript 客户端的开源远程/分布式/持久 JSON 对象库?
【发布时间】: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


    【解决方案1】:

    Firebase 是解决您问题的理想人选。

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

    见:Firebase

    Firebase home page

    【讨论】:

    • 消息传递不同于 JSON 同步。我不认为它支持它吗?另外,如果不是 FOSS,最好使用开源的东西,尤其是在后 PRISM 时代。
    猜你喜欢
    • 1970-01-01
    • 2011-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多