Canjs 与淘汰赛? [关闭]
Posted
技术标签:
【中文标题】Canjs 与淘汰赛? [关闭]【英文标题】:Canjs vs. Knockout? [closed] 【发布时间】:2012-05-11 01:53:30 【问题描述】:我打算用Knockoutjs 开始一些项目,但是最近我找到了Canjs。
canjs 与 knockoutjs 的优缺点是什么? 哪一种更适合不同类型大小的网络应用(小型应用/大型项目/企业应用)?随着我的学习,我发现 canjs 更高效、更轻便、更实用,但我还没有任何经验。
另外,我可以请大家在***中添加Canjs标签吗?
【问题讨论】:
CanJS 实际上使用了一个不错的模式,并不是 html 之上的丑陋 hack。 CanJS 确实存在臃肿问题。考虑使用stapes而不是canjs Stapes.js 是否支持可观察、绑定、MVVM 或 MVC 模式? 不,根据它的'Philosophy "不。Stapes 没有任何预定义的模型、视图或控制器。它也没有集合、路由器或您可能会发现的东西在其他库中(记住,它很小:)。” @Raynos:为什么你认为“CanJS 确实存在臃肿”?它只有 8.5 kb。 @Raynos 如果 CanJS 臃肿,那么 Stapes 贫血。 【参考方案1】:除了你提到的 2 个之外,还有很多 javascript 框架。很难比较它们,因为它们有其他意图/目的。我不了解 CanJS,但我确信它们的目标与 KnockOut 不同。选择使用哪个框架实际上取决于您使用的网站及其功能,而不是 FrameWork 的功能。
所以选择最适合您的项目的,无论如何,每一个选择。不仅仅是一个 JavaScript 框架。
可以询问和比较具体问题(不确定 SO 是否适合它)。示例是比较不同框架的模板或数据绑定。但不建议在不了解网站(或即将成为网站)的情况下比较 2 个框架
【讨论】:
我想知道什么时候应该使用它们。你是对的,不同的js框架之间有一些共同的特点。不知道什么时候该选哪个?每个框架的目标是什么? 您的应用程序需要做什么?看看你是否能找到一个框架来做到这一点。他们是否都这样做,而不是选择最容易使用的(在你看来,不是我的)和/或最轻/最快的。【参考方案2】:我建议在以下位置查看所有不同的选项:
TodoMVC http://addyosmani.github.com/todomvc/
查看这些选项的源代码,您可以很好地了解不同框架的比较。
我个人的感觉是它们之间基本上有两种方法:
-
使用带有 1 路绑定和详细模板引擎的 jquery 选择器(大多数框架)
在 MVVM 模式中使用 2 路绑定的命名约定方法 (knockoutjs)
就我个人而言,我发现选项 2 会导致编写更少的代码,这是我努力的目标。
【讨论】:
以上是关于Canjs 与淘汰赛? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章