我想用backbonejs 构建一个MVC 结构化的移动应用程序。我在网上搜索信息,我只找到了 strophe 主干插件:
strophe.pubsub.js
strophe.forms.js
strophe.vcard.js
strophe.private.js
strophe.roster.js
我会遇到同时使用backbone.js 和Strophe 的问题吗?
我想用backbonejs 构建一个MVC 结构化的移动应用程序。我在网上搜索信息,我只找到了 strophe 主干插件:
strophe.pubsub.js
strophe.forms.js
strophe.vcard.js
strophe.private.js
strophe.roster.js
我会遇到同时使用backbone.js 和Strophe 的问题吗?
您可能指的是我自己的strophe.plugins。这些当然可以开箱即用,此外它们还经过全面测试。当然,您可以将任何其他插件与 Strophe 一起使用,它不会以任何方式与 Backbone 发生冲突。
请记住 strophe.plugins 在独立工作时被编写为与Backbone.xmpp一起使用。我编写了该库,以允许您将 Backbone 模型/集合与 XMPP PubSub 节点同步,从而为您提供所有客户端上的实时事件。
这是一个演示如何在两个客户的实践中工作。
一起使用库没有问题。
大约 12 个月前,我是一个小团队的一员,他们使用 Backbone.js 和 strophe 实现了一个使用 xmpp / ejabberd 作为主要消息传递平台的单页社交网络 Web 应用程序......我们最终重新设计了它,将 ejabberd 替换为自定义 RESTful api ( http://beta.playup.com )。
您需要考虑一些问题 - 特别是在编写单页应用程序时,例如连接管理。当您创建一个停止连接客户端时,您需要一种在页面刷新时重新连接用户帐户的方法(因为 js 显然已重新加载)。
我们还遇到了内存泄漏问题。在 Backbone Views 中抛出自定义事件时要小心……因为在完成视图时需要手动取消绑定它们。如果您不这样做,视图将通过绑定事件保持活动状态,并且不会被 GC。这意味着您可能必须在您的应用程序中引入一些生命周期。
不过,一般来说,只有在您正在开发某种规模的网络应用程序时,这才会成为问题。