| AngularJS | React | Ember JS | Backbone JS | Ractive JS | CanJS | Knockout JS | batman js | rAppid JS | SproutCore |
图片 | | | | | | | | | | |
一般资讯 |
自动视图筛选具有一套基于作用域参数(例如搜索时)的视图筛选机制,不需要编写很多额外代码。 |
自动视图筛选具有一套基于作用域参数(例如搜索时)的视图筛选机制,不需要编写很多额外代码。 | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✔ | ✖ | ✖ |
模板化引擎模板引擎可使UI开发更加简单灵活。 |
模板化引擎模板引擎可使UI开发更加简单灵活。 | ✖ | ✖ | ✔ | ✔ | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ |
扩展 HTML一些人认为这是一个优势,因为它节省了使用另一种模板语言的支出。 |
扩展 HTML一些人认为这是一个优势,因为它节省了使用另一种模板语言的支出。 | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✔ | ✔ | ✖ | ✖ |
以 MIT 许可发布MIT许可是一个非常开放的许可证,允许未经授权的包括商业的所有用途。 |
以 MIT 许可发布MIT许可是一个非常开放的许可证,允许未经授权的包括商业的所有用途。 | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
与其他 MV* 框架集成可被用于部分替代另一框架,不需要移除剩余特性。 |
与其他 MV* 框架集成可被用于部分替代另一框架,不需要移除剩余特性。 | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
“一般资讯”总分 |
“一般资讯”总分 | | | | | | | | | | |
插件 |
支持动画的插件拥有一个插件,包含便于制作视图动画的工具。 |
支持动画的插件拥有一个插件,包含便于制作视图动画的工具。 | ✔ | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
插件数量来自官方插件资源。插件使扩展功能或者整合其他服务更为简便。丰富的插件资源意味着有一个活跃的社区,而且意味着该框架具有很好的兼容性以及/或者灵活性。 |
插件数量来自官方插件资源。插件使扩展功能或者整合其他服务更为简便。丰富的插件资源意味着有一个活跃的社区,而且意味着该框架具有很好的兼容性以及/或者灵活性。 | 213 | N.A. | N.A. | 153 | N.A. | 7 | 33 | N.A. | N.A. | N.A. |
专用插件源这表示该框架拥有一个活跃的生态系统以及广泛的社区支持,而且更加灵活,开发更为迅速。 |
专用插件源这表示该框架拥有一个活跃的生态系统以及广泛的社区支持,而且更加灵活,开发更为迅速。 | ✔ | ✖ | ✖ | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ |
模型用内置 RESTful 同步抽象包含公用程序,可使模型与其对应的服务器端表现同步,不需要编写jQuery样板文件ajax调用。 |
模型用内置 RESTful 同步抽象包含公用程序,可使模型与其对应的服务器端表现同步,不需要编写jQuery样板文件ajax调用。 | ✔ | ✖ | ✖ | ✔ | ✖ | ✔ | ✖ | ✔ | ✔ | ✖ |
动画支持包含便于制作视图动画的工具。 |
动画支持包含便于制作视图动画的工具。 | ✖ | ✖ | ✖ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ |
“插件”总分 |
“插件”总分 | | | | | | | | | | |
库 & 包 |
DOM 操作库不可知论并不要求或者严格提倡使用特定程序库(如jQuery,Zepto,或MooTools)来进行DOM操作。开发者可依据喜好来使用。 |
DOM 操作库不可知论并不要求或者严格提倡使用特定程序库(如jQuery,Zepto,或MooTools)来进行DOM操作。开发者可依据喜好来使用。 | ✖ | ✔ | ✖ | ✖ | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ |
与 Require.js 等 AMD 库的兼容性Asynchronous Module Definition(异步模块定义)程序库允许简易模块化以及清洁编程。如果某个框架不兼容这些程序库,则它可能具有其他模块化内容的方式并解决依赖性,例如Dependency Injection(依赖注入)。 |
与 Require.js 等 AMD 库的兼容性Asynchronous Module Definition(异步模块定义)程序库允许简易模块化以及清洁编程。如果某个框架不兼容这些程序库,则它可能具有其他模块化内容的方式并解决依赖性,例如Dependency Injection(依赖注入)。 | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ | ✖ | ✖ | ✔ | ✖ |
Bower 依赖管理支持Bower是一个简便易用,类似npm的前端应用程序包管理器。 |
Bower 依赖管理支持Bower是一个简便易用,类似npm的前端应用程序包管理器。 | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ |
Npm 程序包管理器中的官方条目该节点程序包管理器亦可用于管理前端脚本。 |
Npm 程序包管理器中的官方条目该节点程序包管理器亦可用于管理前端脚本。 | ✖ | ✖ | ✔ | ✔ | ✔ | ✖ | ✔ | ✖ | ✔ | ✖ |
包括 jQuery Lite当需要DOM操作时使用jQuery Lite元素。这样一来,开发者可在不需要包含整个程序库的情况下获得jQuery舒适的帮助功能。很多情况下,这样可以消除项目对于jQuery的依赖性。 |
包括 jQuery Lite当需要DOM操作时使用jQuery Lite元素。这样一来,开发者可在不需要包含整个程序库的情况下获得jQuery舒适的帮助功能。很多情况下,这样可以消除项目对于jQuery的依赖性。 | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
“库 & 包”总分 |
“库 & 包”总分 | | | | | | | | | | |
数据绑定 |
双向数据绑定模型和视图可进行绑定,以相互更新。 |
双向数据绑定模型和视图可进行绑定,以相互更新。 | ✔ | ✖ | ✔ | ✖ | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ |
单向数据绑定视图可进行绑定,当一个可观察对象产生变化时会自动更新。 |
单向数据绑定视图可进行绑定,当一个可观察对象产生变化时会自动更新。 | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
模型是普通的 javascript 对象这使得应用与REST服务或本地存储器(LocalStorage)之间的数据传输更为简便,同时运用getter和setter函数降低了复杂性。 |
模型是普通的 javascript 对象这使得应用与REST服务或本地存储器(LocalStorage)之间的数据传输更为简便,同时运用getter和setter函数降低了复杂性。 | ✔ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
支持使用 Mixins 视图混合(Mixins)是一种编程技术,允许不同的对象共享 |
支持使用 Mixins 视图混合(Mixins)是一种编程技术,允许不同的对象共享 | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
提供双向数据绑定插件扩展
可进行扩展,实现模型和视图的相互更新。
这样会增加文件体积,但是更具有灵活性。 |
提供双向数据绑定插件扩展
可进行扩展,实现模型和视图的相互更新。
这样会增加文件体积,但是更具有灵活性。 | ✖ | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✖ |
“数据绑定”总分 |
“数据绑定”总分 | | | | | | | | | | |
性能 |
不含依附性的最小文件尺寸更小的文件体积意味着更快的读取速度。 |
不含依附性的最小文件尺寸更小的文件体积意味着更快的读取速度。 | 81KB | 78KB | 235KB | 19KB | 65KB | 69KB | 43KB | 247KB | 120KB | N.A. |
支持转发与深度链接路由选择允许与浏览器网址进行交互。如果您正在开发单页面应用,这对于提供良好的用户体验来说非常重要。 |
支持转发与深度链接路由选择允许与浏览器网址进行交互。如果您正在开发单页面应用,这对于提供良好的用户体验来说非常重要。 | ✔ | ✖ | ✔ | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ | ✔ |
Promises/A+ 执行拥有Promises/A+规格的内部应用。在处理服务器响应时,Promise是回调函数的一个流行的替代方案。 |
Promises/A+ 执行拥有Promises/A+规格的内部应用。在处理服务器响应时,Promise是回调函数的一个流行的替代方案。 | ✔ | ✖ | ✔ | ✖ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ |
可以在服务器上预编译模板支持可在服务器上进行预渲染的模板引擎,并可能提升页面读取速度,尤其是在低配置的设备上。 |
可以在服务器上预编译模板支持可在服务器上进行预渲染的模板引擎,并可能提升页面读取速度,尤其是在低配置的设备上。 | ✖ | ✔ | ✔ | ✔ | ✖ | ✔ | ✔ | ✖ | ✖ | ✔ |
依赖性注入这提高了可测性以及模块性。 |
依赖性注入这提高了可测性以及模块性。 | ✔ | ✖ | ✔ | ✖ | ✖ | ✖ | ✖ | ✖ | ✔ | ✖ |
“性能”总分 |
“性能”总分 | | | | | | | | | | |