BackboneJS v / s CanJS哪个更好?

时间:2014-02-14 06:15:00

标签: backbone.js canjs

我对在我的下一个项目中使用BackboneJS / CanJS的两个选项感到困惑。谁能建议哪一个更好?

1 个答案:

答案 0 :(得分:5)

他们有许多相同点和不同点,这里有一些:

相似性

  • 他们都有可以观察的模型,他们使用类似的模式来设置属性
  • CanJS拥有与Backbone中的视图非常相似的控件,您可以在两者中以类似的方式收听事件
  • 它们既小又灵活
  • 路由在两者中非常相似,Backbone有一个特殊的Router对象,而在CanJS中你在Control类中进行路由,但它们非常相似
  • 我发现Backbone中的许多模式都可以翻译成CanJS

的差异:

  • Backbone有一个庞大的社区,大量的插件可以做任何事情
  • 使用Backbone时,您可能会找到更多文档和帮助
  • Backbone没有规定的做事方式,例如渲染视图。所以这可能是好还是坏,取决于你如何看待它。许多时候它导致许多项目在使用Backbone时完全不同。
  • Backbone不实现视图呈现或双向绑定,由您来实现,不知何故
  • CanJS使用EJS或Mustache有反应式视图,所以有一种定义的方法,它也有双向绑定
  • CanJS有组件
  • CanJS非常善于避免内存泄漏,如果您遵循某些模式,例如,如果您正在侦听控件内的窗口调整大小事件,当您从DOM中删除控件时CanJS也会自动删除侦听器, Backbone你必须做更多的手工工作