最好的JavaScript库是jQuery,它提供了一套JavaScript函数,减少了很多开发工作。但jQuery只是一个辅助库。真正想要在前端MVC模型上大有作为的库,还是要数以下三个JavaScript库:AngularJS、BackboneJS和EmberJS。下面我将比较这三个JavaScript库。一、简介1、AngularJSAngularJS是Google发明的开源JavaScript框架,负责进化和维护。AngularJS基于MVC架构,目标是让开发和测试更高效、更简单。AngularJS扩展了传统的HTML代码,以实现动态内容和页面元素之间的双向绑定。AngularJS是一个独立的框架,这意味着它不依赖于任何其他JavaScript框架。2.BackboneJSBackboneJS是一个开源的、轻量级的MVC框架。它诞生于2010年,发展非常迅速,很快成长为一个JavaScript框架,取代了体积庞大、功能齐全的MVC框架(如ExtJS)。这使得很多国外的互联网公司开始用它来构建自己的应用服务。比如Pinterest、Flixster、AirBNB等公司。BackboneJS库提供了键值绑定模型、自定义事件、使Web应用程序具有丰富的结构,以及一组具有枚举函数和视图的丰富API集合。BackboneJS库可以通过RESTfulJSON接口连接到您现有的API。BackboneJS库依赖于Underscore.js库。BackboneJS以数据为模型,可以对模型进行创建、验证、销毁、保存到服务器等操作。视图用于显示模型的状态。当属性发生变化时,可以触发它,视图可以做出相应的反应并再现新的信息。BackboneJS是介于最小数据结构(模型和集合)和用户界面(视图和URL)原语之间的一种尝试,对于构建基于JavaScript的Web应用程序很有用。3.EmberJSEmberJS要追溯到2007年才能追根溯源。它起源于SproutCoreMVC框架。SproutCore框架最初由SproutIt开发,后来被Apple接管并进化维护。直到2011年,YehudaKatz(jQuery项目和RubyonRails项目的核心贡献者)发起了EmberJS项目。值得注意的是,EmberJS库的用户包括雅虎、Groupon、ZenDesk等互联网公司。EmberJS允许开发人员创建可扩展的单页Web应用程序。它提供了一组丰富的Handlebars.js库,包括:提供对象模型、声明式双向数据绑定、可计算属性、自动更新模板和管理应用程序状态的路由器。二、比较1、社区选择框架的一个重要因素是框架社区的规模和开发者的数量和活跃度。三者相比,AngularJS社区规模最大、发展速度更快、社区最具活力。而且AngularJS在GitHub上的关注者更多,在StackOverflow上的问答也更多。2.框架的大小页面加载时间是一个web应用成功与否的关键因素之一。用户需要能够快速访问信息,有两个因素会影响页面加载时间:JavaScript框架的大小和启动它所需的时间。比较三个框架的缩小版本:AngularJS1.2版有105KB,EmberJS1.9.1版有97KB,BackboneJS1.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库。3.结语没有完美的JavaScript框架,只有最适合你的JavaScript框架。总的来说,AngularJS框架相对来说要好一些。它发展最快,更有活力,背后有庞大的社区和谷歌。BackboneJS是一个小巧易学的极简主义框架。最好的JavaScript库是jQuery,它提供了一组JavaScript函数,减少了大量的开发工作。但jQuery只是一个辅助库。真正想要在前端MVC模型上大有作为的库,还是要数以下三个JavaScript库:AngularJS、BackboneJS和EmberJS。下面我将比较这三个JavaScript库。
