Versus 将使用 Cookie 来提升您的网站体验。继续浏览网站即表示您同意我们使用 Cookie。 隐私政策

64

CanJS

55

Knockout JS

对比胜出方
CanJS
Knockout JS
vs
vs

%{comparison}:对比中的 26 个事实

CanJS vs Knockout JS

CanJS
Knockout JS

为什么CanJS优于Knockout JS?

  • 支持路由选择以及深层链接
    ?
  • 使用Promise函数式
    ?
  • DOM操作程序库不受限
    ?
  • 支持合成(部分)视图
    ?
  • 具有专用插件资源。
    ?
  • 官方支持Bower依赖性管理
    ?
  • 兼容AMD程序库,例如require.js
    ?
  • 具有整合的输入验证机制
    ?

为什么Knockout JS优于CanJS?

  • 具有双向数据绑定
    ?
  • 26KB小的文件体积,无依赖性
    ?

    43KBvs69KB
  • 扩展HTML
    ?
  • 1低的依赖性
    ?
  • 26多的插件
    ?

    33vs7
  • 支持1早期的IE浏览器版本
    ?

    6vs7
  • 在npm程序包管理器中,有一个最新的官方条目
    ?
  • 拥有一个支持输入验证的流行插件
    ?

一般资讯

1.使用一个模板引擎
CanJS
Knockout JS
模板引擎可使UI开发更加简单灵活。
2.支持计算属性
CanJS
Knockout JS
允许应用属性功能来计算对象的属性。
3.以MIT许可发布
CanJS
Knockout JS
MIT许可是一个非常开放的许可证,允许未经授权的包括商业的所有用途。
4.扩展HTML
CanJS
Knockout JS
一些人认为这是一个优势,因为它节省了使用另一种模板语言的支出。
5.支持合成(部分)视图
CanJS
Knockout JS
允许从一个模板内部将视图模板嵌套进高层视图
6.具有一个稳定的公开API
CanJS
Knockout JS
主要版本数大于0,意味着分解由开发小组引入的API变化不具有兼容性。
历史版本支持对于公司项目以及基于大量IE浏览器用户的项目来说会很重要。
内置的公用程序可在提交至服务器或服务器处理之前帮助验证客户输入。虽然这并不能替代服务器端的验证,但是可以显著提升用户体验。
9.与多个模板引擎兼容
CanJS
Knockout JS
其他框架可能与某个您不喜欢的模板引擎绑定,而且无法更改。

插件

来自官方插件资源。插件使扩展功能或者整合其他服务更为简便。丰富的插件资源意味着有一个活跃的社区,而且意味着该框架具有很好的兼容性以及/或者灵活性。
2.具有专用插件资源。
CanJS
Knockout JS
这表示该框架拥有一个活跃的生态系统以及广泛的社区支持,而且更加灵活,开发更为迅速。
3.模型用内置REST同步抽象
CanJS
Knockout JS
包含公用程序,可使模型与其对应的服务器端表现同步,不需要编写jQuery样板文件ajax调用。
插件可在提交至服务器或服务器处理之前帮助验证客户输入。虽然这并不能替代服务器端的验证,但是可以显著提升用户体验。

库 & 包

1.DOM操作程序库不受限
CanJS
Knockout JS
并不要求或者严格提倡使用特定程序库(如jQuery,Zepto,或MooTools)来进行DOM操作。开发者可依据喜好来使用。
Bower是一个简便易用,类似npm的前端应用程序包管理器。
Asynchronous Module Definition(异步模块定义)程序库允许简易模块化以及清洁编程。如果某个框架不兼容这些程序库,则它可能具有其他模块化内容的方式并解决依赖性,例如Dependency Injection(依赖注入)。
该节点程序包管理器亦可用于管理前端脚本。

数据绑定

1.具有双向数据绑定
CanJS
Knockout JS
模型和视图可进行绑定,以相互更新。
2.支持单向数据绑定
CanJS
Knockout JS
视图可进行绑定,当一个可观察对象产生变化时会自动更新。
监控模型变化是一个知名的模式,某些情况下比“脏检查(dirty-checking)”表现更好。

性能

更小的文件体积意味着更快的读取速度。
路由选择允许与浏览器网址进行交互。如果您正在开发单页面应用,这对于提供良好的用户体验来说非常重要。
3.使用Promise函数式
CanJS
Knockout JS
拥有Promises/A+规格的内部应用。在处理服务器响应时,Promise是回调函数的一个流行的替代方案。
支持可在服务器上进行预渲染的模板引擎,并可能提升页面读取速度,尤其是在低配置的设备上。
更低的依赖性意味着需要包含更少的额外脚本,通常可减少开发支出,提高读取速度。

最佳的MV* 框架是什么?

展示全部
This page is currently only available in English.