1. MVC模式 backbone.js
为了去除掉以往 jQuery 过分依赖DOM来写业务逻辑,
导致后期代码逻辑混乱,DOM和JS上紧耦合. 函数内部层层调用,
甚至还会出现各种夸多个文件层层调用.使得业务最终变得难以维护,越来越臃肿,
功能耦合度越高.修改起来就越容易导致其他功能出现难以预料的BUG .
而Backbone则很大程度上解除DOM和JavaScript的耦合关系. 更接近MVC的真谛.
但是Backbone只提供基本的工具. 没有进行更加复杂的封装.
2. angularjs
把JS逻辑和HTML标签紧密结合在一起, 通过依赖注入, 来实现开发模块化.
AngularJS的确提供了很多的遍历, 封装了很多复杂逻辑, 双向数据绑定. 逻辑区域划分.
—————-比较———–
backbone支持ie6以上的版本 angularjs 支持ie9以上版本,在ie9也会遇到很多问题
angularjs 压缩版本 101k -120k (没有压缩的开发者版是800K以上,1.2.X版本)
Backbone 依赖 Underscore.js 压缩后 Backbone + Underscore = 20k + 14k = 34k ~ 36k的样子。
别高兴的太早的, Backbone 还需要引入一个核心库。类似于jQuery这样的。
PC开发时,引入一个压缩过的jQuery1.11.1 是101k~105k,不兼容IE6 7 8 引入压缩后的 jQuery 2.0以上版本是 89K ~ 94k。
所以大小加起来 Backbone + Underscore + jQuery = 130k ~ 145k 。
如果是移动端的开发,不需要引入jQuery ,而是使用Zepto的话。
Backbone组合的大小就骤降到了 44k~50k. 这个时候Backbone在移动端的优势就体现出来了。
而这样一来. Backbone + Underscore + jQuery(or Zepto) 就比一个AngularJS 多出了2 次HTTP请求.