三大JavaScript框架对比——AngularJS、BackboneJS和EmberJS
[日期:2015-03-04] | 来源:Linux社区 作者:chszs | [字体:大 中 小] |
最流行的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是极简主义的框架,它体积小、易于学习。
AngularJS权威教程 清晰PDF版 http://www.linuxidc.com/Linux/2015-01/111429.htm
希望你喜欢,并分享我的工作~带你走近AngularJS系列:
- 带你走近AngularJS - 基本功能介绍 http://www.linuxidc.com/Linux/2014-05/102140.htm
- 带你走近AngularJS - 体验指令实例 http://www.linuxidc.com/Linux/2014-05/102141.htm
- 带你走近AngularJS - 创建自定义指令 http://www.linuxidc.com/Linux/2014-05/102142.htm
如何在 AngularJS 中对控制器进行单元测试 http://www.linuxidc.com/Linux/2013-12/94166.htm
在 AngularJS 应用中通过 JSON 文件来设置状态 http://www.linuxidc.com/Linux/2014-07/104083.htm
AngularJS 之 Factory vs Service vs Provider http://www.linuxidc.com/Linux/2014-05/101475.htm
AngularJS —— 使用 ngResource、RESTful APIs 和 Spring MVC 框架提交数据 http://www.linuxidc.com/Linux/2014-07/104402.htm
相关推荐
在前端开发领域,AngularJS、BackboneJS和EmberJS是备受推崇的三大JavaScript框架,它们各自具有独特的特性和优势。本文将深入探讨这三个框架的介绍、差异以及适用场景。 首先,AngularJS是由Google开发并维护的...
Ember.js是一个强大的JavaScript MVC(模型-视图-控制器)框架,专为构建富交互式Web应用程序而设计。它提供了一套完整的结构和约定,帮助开发者构建可维护、可扩展的前端项目。作为jQuery的有力竞争者,Ember.js...
"JavaScript_帮助你为Reactjs、Emberjs、Angular等选择一个MV框架Todo应用.zip"这个压缩包可能包含了一个关于如何使用这些框架构建Todo应用的教程。Todo应用是一个经典的示例,常被用来比较不同框架的优劣,因为它...
Ember.js是一个强大的开源JavaScript框架,专为构建复杂的、数据驱动的Web应用程序而设计。它遵循Model-View-Controller(MVC)架构模式,提供了一套全面的工具和最佳实践,帮助开发者高效地构建功能丰富的单页应用...
学习AngularJS时,还可以对比其他前端框架,如EmberJS和KnockoutJS,理解它们在双向绑定等方面的差异,以便根据项目需求选择最合适的工具。 总之,AngularJS 是一个功能强大且灵活的框架,深入理解并掌握其核心概念...
Ember.js是一款强大的JavaScript MVC框架,它为构建复杂的Web应用程序提供了结构和便利。在Ember.js中,模板渲染是核心部分之一,它涉及到视图层的动态更新和数据的展示。下面将详细介绍emberjs的模板渲染及其相关...
前端框架:Bootstrap/AngularJS/EmberJS/HTML5/Cocos2dJS/ionic 前端工具:Bower/Gulp/SaSS/LeSS/PhoneGap 数据库相关:MySQL/PgSQL/PDO/SQLite 版本管理、文档和自动化部署工具:Svn/Git/PHPDoc/Phing/Composer ...
Ember.js基于 Model-View-ViewModel (MVVM)模式最有异议的框架之一。他在单个包中实现了模板、数据绑定和库。他的“约定优于配置”的概念对于Ruby on Rails 的使用者来说一点都不陌生。
Ember.js是一款JavaScript框架,用于构建雄心勃勃的Web应用程序。Ember.js以其约定优于配置的设计原则和一套强大的开发工具而闻名。本文将详细介绍Ember.js用户指南中涉及的入门知识点和概念。 ### Ember.js入门...
Ember.js是一款强大的JavaScript框架,用于构建可维护的、数据驱动的Web应用程序。在开发过程中,开发者经常会遇到调试和理解复杂的数据模型与组件状态的问题。Chrome DevTools是Chrome浏览器内置的强大开发者工具,...
和框架 JavaScript 节点 AngularJS EmberJS 主干JS ReactJS KnockoutJS Java 安卓 . 离子 目标-C IOS Clojure HTML CSS 姜戈 二郎 高朗 前端构建工具 较少的 Lisp PHP Python Ruby on Rails Ruby 萨斯 Scala 共享点 ...
在IT行业中,前端框架是构建交互式Web应用的关键工具,它们极大地提高了开发效率,提供了统一的结构和设计模式。这份名为“前端框架网址大全”的资源集合,无疑为前端开发者提供了一个宝贵的导航平台,免去了他们在...
EmberJS 是一款强大的、用于构建用户界面的前端JavaScript框架,特别适合开发单页应用程序(SPA)。它遵循 MVC(模型-视图-控制器)架构模式,提供了丰富的特性,如数据绑定、依赖注入、路由和组件化,以提高开发...
"angularjs" 和 "angular" 分别是Google的第1代和第2代前端框架,提供完整的MVC架构;"vuejs" 是一套轻量级但功能强大的渐进式框架,易于上手且性能出色;"emberjs" 是另一款全面的框架,注重开发者体验和生产力。...
JavaScript 是 Web 开发中的主要脚本语言,EmberJS 作为其上的库或框架,依赖 JavaScript 来实现客户端的交互逻辑和数据管理。 在压缩包 "emberjs-jogging-master" 中,"master" 通常指的是 Git 仓库的主要分支,这...
在现代Web开发中,前端框架和技术的选择至关重要,它们极大地影响着网站的性能、用户体验和开发效率。本资源“H5-JavaScript-CSS-HTML:Web前端角”涵盖了多个主流的前端技术,包括AngularJS、ReactJS、VueJS、Ember...
前几天在看一些流行的迷你mvvm框架(比如avalon.js、 vue.js 这种较轻的框架,而非Angularjs、Emberjs这种较重的框架)的实现。现代流行的mvvm框架一般都会将数据双向绑定(two-ways data binding)做掉,作为框架...