68

Backbone JS

95

React

Backbone JS
对比胜出方
React
vs
vs

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

Backbone JS vs React

Backbone JS
React

为什么Backbone JS优于React?

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

    19KBvs78KB
  • 支持路由选择以及深层链接
    ?
  • 使用一个模板引擎
    ?
  • 以MIT许可发布
    ?
  • 具有一个稳定的公开API
    ?
  • 拥有一个样板文件项目
    ?
  • 拥有一个支持输入验证的流行插件
    ?
  • 为数据绑定使用监控属性
    ?

为什么React优于Backbone JS?

  • 支持单向数据绑定
    ?
  • 模型是单纯的JavaScript对象
    ?
  • DOM操作程序库不受限
    ?
  • 使用JSX来制版
    ?
  • 允许使用视图混合(mixins)
    ?
  • 可与其他MV*框架整合
    ?
  • 拥有一个支持动画的流行插件
    ?
  • 异步更新DOM
    ?

一般资讯

模板引擎可使UI开发更加简单灵活。
2.使用JSX来制版
Backbone JS
React
JSX是一个制版引擎,允许开发者直接在他们的代码中进行标记,以供实时或预编译为单纯的JavaScript。这样避免了视图标记和代码的分离,并且使基于字符串的制版语言得到快速改善。
3.以MIT许可发布
Backbone JS
React
MIT许可是一个非常开放的许可证,允许未经授权的包括商业的所有用途。
可被用于部分替代另一框架,不需要移除剩余特性。
允许从一个模板内部将视图模板嵌套进高层视图
主要版本数大于0,意味着分解由开发小组引入的API变化不具有兼容性。

插件

拥有一个插件,包含便于制作视图动画的工具。
插件可在提交至服务器或服务器处理之前帮助验证客户输入。虽然这并不能替代服务器端的验证,但是可以显著提升用户体验。
包含公用程序,可使模型与其对应的服务器端表现同步,不需要编写jQuery样板文件ajax调用。
这表示该框架拥有一个活跃的生态系统以及广泛的社区支持,而且更加灵活,开发更为迅速。
拥有可提供简易同步功能的插件,可将模型与HTML5本地存储器(LocalStorage)同步。

库 & 包

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

数据绑定

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

性能

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

最佳的MV* 框架是什么?

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