我对下一个项目使用 BackboneJS/CanJS 的两种选择感到困惑。谁能建议哪个更好?
问问题
683 次
1 回答
5
它们有许多相似之处和不同之处,这里有一些:
相似之处
- 他们都有可以观察的模型,他们使用相似的模式来设置属性
- CanJS 具有与 Backbone 中的视图非常相似的控件,您在两者中都以类似的方式收听事件
- 它们既小又非常灵活
- 两者的路由非常相似,Backbone 有一个特殊的 Router 对象,而在 CanJS 中,您在 Control 类中执行路由,但它们非常相似
- 我发现Backbone中的很多做事模式都可以翻译成CanJS
差异:
- Backbone 有一个庞大的社区,有大量的插件可以做任何事情
- 使用 Backbone 时,您可能会找到更多文档和帮助
- Backbone 没有规定的做事方式,例如渲染视图。所以这可能是好是坏,取决于你如何看待它。很多时候,它会导致许多项目在使用 Backbone 时做的事情完全不同。
- Backbone 不实现视图渲染或双向绑定,取决于您以某种方式实现它
- CanJS 有使用 EJS 或 Mustache 的响应式视图,因此有一种定义的方式来执行此操作,它也有两种方式绑定
- CanJS 有组件
- CanJS 非常擅长避免内存泄漏,如果您遵循某些模式,例如,如果您正在侦听控件内的窗口调整大小事件,当您从 DOM 中删除控件时,CanJS 也会自动删除侦听器,在 Backbone 中您有做更多的手工工作
于 2014-02-14T23:30:05.740 回答