三大框架AngularJS、BackboneJS和EmberJS对比-阿里云开发者社区

开发者社区> 行者武松> 正文

三大框架AngularJS、BackboneJS和EmberJS对比

简介:
+关注继续查看

最流行的JavaScript库是jQuery,它提供了一套JavaScript函数,减少了很多开发工作。但是jQuery只是一个辅助库,真正要在前端MVC模式上有大作为的库,还是要数下面的三个JavaScript库:AngularJS、BackboneJS和EmberJS。下面我将对这三个JavaScript库做对比。

一、介绍

1、AngularJS

AngularJS是一个开源的JavaScript框架,由Google发明并负责演进和维护。AngularJS基于MVC架构,目标是使得开发和测试更富有效率、更加容易。AngularJS扩展了传统的HTML代码,使得动态内容能够和页面元素进行双向绑定。AngularJS是一个独立的框架,这意味着它不依赖于任何别的JavaScript框架。

2、BackboneJS

BackboneJS是一个开源的、轻量级的MVC框架。它诞生于2010年,发展的非常迅速,很快就成长为一种替代笨重的、全功能MVC架构(比如ExtJS)的JavaScript框架。这使得很多国外互联网公司开始采用它来构建自己的应用服务。比如Pinterest、Flixster、AirBNB等公司。BackboneJS库提供了一种键值绑定、自定义事件的模型,使得Web应用富有结构化,而且还有一套带枚举函数和视图的丰富API的集合。BackboneJS库可以通过RESTful风格的JSON接口来连接你现有的API。BackboneJS库依赖于Underscore.js库。

BackboneJS以数据为模型,可以对模型进行创建、验证、销毁、保存到服务器端等操作。视图用于显示模型的状态,当属性发生了改变时,能被触发,视图可以做出相应的反应,并重现新信息。BackboneJS是在一套最小的数据结构(模型和集合)和用户界面(视图和URL)原语之间的一个尝试,对于构建JavaScript的Web应用非常有用。

3、EmberJS

EmberJS要追述源头得回到2007年,它源于SproutCore MVC框架,SproutCore框架最初是由SproutIt公司开发,后来由Apple接手并演进和维护。直到2011年,Yehuda Katz(他是jQuery项目和Ruby on Rails项目的核心贡献者)发起了EmberJS项目。值得注意的是,EmberJS库的用户包括雅虎、Groupon和ZenDesk等互联网公司。

EmberJS允许开发者创建可扩展的单页Web应用。它提供了一套丰富的Handlebars.js库,功能包括:提供了对象模型、声明式的两路数据绑定、可计算的属性、自动化更新的模板,还提供了一个路由器来管理应用程序的状态。

二、比较

1、社区

选择框架的一个重要因素是框架社区的规模和开发者的数量和活跃度。三者相比,AngularJS社区规模最大、发展更快、社区也最有活力。而且AngularJS在GitHub的跟随者也更多,在StackOverflow的问答也更多。

2、框架的大小

页面加载时间是Web应用成功的关键因素之一。用户需要能快速地访问信息,影响页面加载时间的两个因素:JavaScript框架的大小和启动它所需的时间。

比较这三个框架的压缩版:AngularJS 1.2版有105KB,EmberJS 1.9.1版有97KB,BackboneJS 1.1.2版有65KB。但是,AngularJS框架无任何依赖,BackboneJS框架依赖于Underscore.js库(52KB),EmberJS框架和BackboneJS框架通常需要jQuery库(82KB)来简化操作。因此,AngularJS框架的大小才是真正最小的。

3、模板

AngularJS框架和EmberJS框架都包含了一个模板引擎。而BackboneJS框架无模板引擎,开发者需要选择一个第三方模板引擎集成到项目中。当然,对于BackboneJS框架来说,Underscore.js库就包含了模板引擎,可以用它。

4、灵活性

有很多JavaScript插件可以完成很多专门的工作。这是非常有用的,因为每一种框架都无法做到面面俱到。所以,对于框架来说,支持插件、支持扩展就很重要了。三者相比,BackboneJS框架是最灵活的框架,因为它的约定最少,开发者在使用时可以自己做很多决定。EmberJS框架和AngularJS框架在某种程度上来说是灵活的,但不够灵活。

5、学习曲线

AngularJS框架的开发者可以快速构建Web应用,快速使用双向绑定,基本上无需学习。但是要深入掌握AngularJS框架,就需要学习一些专业术语,学习曲线也比较陡峭。EmberJS框架的学习曲线就比AngularJS平滑一些。

BackboneJS框架更容易学习,但是要掌握它还需学习Underscore.js库。

三、结论

没有最好的JavaScript框架,只有最适合自己的JavaScript框架。一般来说,AngularJS框架相对更好一些,它发展最迅猛,更有活力,有庞大的社区和Google在背后支持。BackboneJS是极简主义的框架,它体积小、易于学习。

最流行的JavaScript库是jQuery,它提供了一套JavaScript函数,减少了很多开发工作。但是jQuery只是一个辅助库,真正要在前端MVC模式上有大作为的库,还是要数下面的三个JavaScript库:AngularJS、BackboneJS和EmberJS。下面我将对这三个JavaScript库做对比。


来源:51CTO

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
(三)Java版Spring Cloud B2B2C o2o鸿鹄云商平台--技术框架
公司要搭建未来服务开发的统一标准,也考虑到框架的可拓展及可伸缩性,能够顺应时代的潮流,鸿鹄云商平台(honghu)业务的可拓展性比较随性,考虑到未来运营方案多样化及快速响应产品&用户需求、新业务的快速迭代变更,作为平台的总架构师,我推荐公司使用当前业界最流行的Spring Cloud分布式微服务云...
1199 0
第三方框架/服务/类库介绍链接汇总
1.一个很不错的引导页面构建框架 https://github.com/mamaral/Onboard 2.当前比较实用的几个ios第三方框架 http://www.
1124 0
开源最佳实践:Android平台页面路由框架ARouter
为了更好地让开发者们更加深入了解阿里开源,阿里云云栖社区在3月1号了举办“阿里开源项目最佳实践”在线技术峰会,直播讲述了当前阿里新兴和经典开源项目实战经验以及背后的开发思路,在本次在线技术峰会上,阿里云资深开发工程师刘志龙分享了Android平台页面路由框架ARouter的技术方案、解决的问题以及在实际场景中的最佳实践。
43629 0
【JavaScript框架封装】使用Prototype给Array,String,Function对象的方法扩充
版权声明:本文为博主原创文章,未经博主允许不得转载。更多学习资料请访问我爱科技论坛:www.52tech.tech https://blog.csdn.net/m0_37981569/article/details/81055991 ...
971 0
【我们一起写框架】MVVM的WPF框架(三)—数据控件
这世上,没人能一次性写出完美无缺的框架;因为,任何一个框架都需要项目的淬炼,然后才能升华,趋近完美。 所以,框架是个反复修改的东西,最终形成的东西。 如果你学了一点技术,觉得自己可以写出框架了,觉得自己有架构师的能力,然而自己总是怀才不遇——那一定是你的错觉。
952 0
angular框架
AngularJs 1.   表达式{{5+3}} 2.   指令  ng-app 指令初始化一个 AngularJS应用程序,ng-init指令初始化应用程序数据,ng-model 指令把元素值(比如输入域的值)绑定到应用程序,ng-if。 3.   控制器ng-controller                                               
1334 0
+关注
行者武松
杀人者,打虎武松也。
17142
文章
2569
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载