100

AngularJS

68

Backbone JS

对比胜出方
AngularJS
Backbone JS
vs
vs

对比中的 52 个事实

AngularJS vs Backbone JS

AngularJS
Backbone JS

为什么AngularJS优于Backbone JS?

  • 具有双向数据绑定
    ?
  • 支持单向数据绑定
    ?
  • 模型是单纯的JavaScript对象
    ?
  • 使用Promise函数式
    ?
  • 具有自动视图筛选
    ?
  • 扩展HTML
    ?
  • 具有依赖注入(Dependency Injection)
    ?
  • 拥有一个支持动画的流行插件
    ?

为什么Backbone JS优于AngularJS?

  • 62KB小的文件体积,无依赖性
    ?

    19KBvs81KB
  • 使用一个模板引擎
    ?
  • 模板可在服务器上进行预编译
    ?
  • 可在服务器上进行渲染
    ?
  • 支持合成(部分)视图
    ?
  • 可通过一个流行的插件来实现双向数据绑定
    ?
  • 与第三方程序库整合良好,以启用Promises/A+支持。
    ?
  • 30KB小的文件体积,包括依赖性
    ?

    51KBvs81KB

一般资讯

1.具有自动视图筛选
AngularJS
Backbone JS
具有一套基于作用域参数(例如搜索时)的视图筛选机制,不需要编写很多额外代码。
2.使用一个模板引擎
AngularJS
Backbone JS
模板引擎可使UI开发更加简单灵活。
3.支持计算属性
AngularJS
Backbone JS
允许应用属性功能来计算对象的属性。
4.使用JSX来制版
AngularJS
Backbone JS
JSX是一个制版引擎,允许开发者直接在他们的代码中进行标记,以供实时或预编译为单纯的JavaScript。这样避免了视图标记和代码的分离,并且使基于字符串的制版语言得到快速改善。
5.扩展HTML
AngularJS
Backbone JS
一些人认为这是一个优势,因为它节省了使用另一种模板语言的支出。
6.以MIT许可发布
AngularJS
Backbone JS
MIT许可是一个非常开放的许可证,允许未经授权的包括商业的所有用途。
7.可与其他MV*框架整合
AngularJS
Backbone JS
可被用于部分替代另一框架,不需要移除剩余特性。
8.支持合成(部分)视图
AngularJS
Backbone JS
允许从一个模板内部将视图模板嵌套进高层视图
9.拥有一个样板文件项目
AngularJS
Backbone JS
拥有一个官方的或者知名的样板文件项目,已设置好推荐文件结构,使开发者能更快开始工作。

插件

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

库 & 包

1.DOM操作程序库不受限
AngularJS
Backbone JS
并不要求或者严格提倡使用特定程序库(如jQuery,Zepto,或MooTools)来进行DOM操作。开发者可依据喜好来使用。
2.兼容AMD程序库,例如require.js
AngularJS
Backbone JS
Asynchronous Module Definition(异步模块定义)程序库允许简易模块化以及清洁编程。如果某个框架不兼容这些程序库,则它可能具有其他模块化内容的方式并解决依赖性,例如Dependency Injection(依赖注入)。
3.官方支持Bower依赖性管理
AngularJS
Backbone JS
Bower是一个简便易用,类似npm的前端应用程序包管理器。
该节点程序包管理器亦可用于管理前端脚本。
5.包括jQuery Lite
AngularJS
Backbone JS
当需要DOM操作时使用jQuery Lite元素。这样一来,开发者可在不需要包含整个程序库的情况下获得jQuery舒适的帮助功能。很多情况下,这样可以消除项目对于jQuery的依赖性。
6.包括Underscore.js程序库
AngularJS
Backbone JS
依赖流行的效用程序库underscore.js。Underscore包括列表操作的帮助功能以及功能性编程。

数据绑定

1.具有双向数据绑定
AngularJS
Backbone JS
模型和视图可进行绑定,以相互更新。
2.支持单向数据绑定
AngularJS
Backbone JS
视图可进行绑定,当一个可观察对象产生变化时会自动更新。
3.模型是单纯的JavaScript对象
AngularJS
Backbone JS
这使得应用与REST服务或本地存储器(LocalStorage)之间的数据传输更为简便,同时运用getter和setter函数降低了复杂性。
4.允许使用视图混合(mixins)
AngularJS
Backbone JS
混合(Mixins)是一种编程技术,允许不同的对象共享
可进行扩展,实现模型和视图的相互更新。 这样会增加文件体积,但是更具有灵活性。
6.为数据绑定使用监控属性
AngularJS
Backbone JS
监控模型变化是一个知名的模式,某些情况下比“脏检查(dirty-checking)”表现更好。
检查所有变化,并更新相应的区域,某些情况下可比监控器表现更好。

性能

更小的文件体积意味着更快的读取速度。
2.支持路由选择以及深层链接
AngularJS
Backbone JS
路由选择允许与浏览器网址进行交互。如果您正在开发单页面应用,这对于提供良好的用户体验来说非常重要。
3.使用Promise函数式
AngularJS
Backbone JS
拥有Promises/A+规格的内部应用。在处理服务器响应时,Promise是回调函数的一个流行的替代方案。
支持可在服务器上进行预渲染的模板引擎,并可能提升页面读取速度,尤其是在低配置的设备上。
5.可在服务器上进行渲染
AngularJS
Backbone JS
这极大地提升了搜索引擎的可检索性,并可能提升页面读取速度,尤其是在低配置的设备上。
这提高了可测性以及模块性。
更低的依赖性意味着需要包含更少的额外脚本,通常可减少开发支出,提高读取速度。
8.异步更新DOM
AngularJS
Backbone JS
模型改变并不会立即导致视图更新,但是会进入队列并以组的形式进行分配。这比即时视图更新的表现好得多。
允许使用类似jQuery Deferred的程序库来支持Promises函数式。在处理服务器响应时,Promise是回调函数的一个流行的替代方案。

最佳的MV* 框架是什么?

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