AngularJS, Ember.js, Backbone这类新框架与 jQuery的重要区别在哪里?
jQuery主要是用来操作DOM的,如果单单说jQuery的话就是这样一个功能,它的插件也比较多,大家也都各自专注一个功能,可以说jQuery体系是跟着前端页面从静态到动态崛起的一个产物,他的作用就是消除各浏览器的差异,简化和丰富DOM的API,简单易用。
而AngularJS, Ember.js, Backbone则是比较新的产物,他们的产生不是为了再页面上实现各种特效,而是为了构建更重量级的webapp,这种app通常只有一个页面,通常拥有丰富的数据和交互,业务逻辑耦合深,跟传统的web页面还是有比较大的差异的。他们通常把数据和逻辑还有展现之类的东西做了分离,可以更方便做出复杂的单页面应用。
有个神奇的repo,是用来演示各种mvc框架的,可以参考下,里面列举的很全。https://github.com/addyosmani/todomvc
所以说二者的差别还是很明显的。jQuery现在的趋势是越来越专注和简单,很多MVC框架其实都依赖于jQuery,用来进行DOM操作,这就是它做的事情,而MVC框架则更注重于模式,专注点不同。