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 与淘汰赛? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 的替代方案 [关闭]

我应该花精力实现 knockoutjs 还是研究 jQuery Data Link [关闭]

京东怼天天快递,真的是“末位淘汰”那么简单?

IFrame (HTML) 是不是已过时? [关闭]

YQL查询服务现在被雅虎关闭了

有任何锦标赛 API 吗? [关闭]