四大流行Ajax框架综合对比

by admin on 2020年5月3日

jQuery 已经十周年了,是在 2006 年 1 月 14 日的 BarCamp
NYC 上由 John Resig
发布的一个 JavaScript
库。jQuey
最初的目标是解决一些基础性问题,不再需要多一个 JavaScript 库依赖。jQuery
后来成为了史上使用最广泛的 JavaScript 库。

jQuery 基金会 2014 年度报告

jQuery 基金会支持所有 WEB 开发者在开放标准的基础上创建能让所有用户访问的
WEB
内容。我们通过支持开源软件,与开发社区协作来完成这项任务。基金会所维护的开源项目是这一愿景至关重要的一部分。

AJAXweb20的基石,现在网上流行几种开源的AJAX框架,比如:jQuery,Mootools,Dojo,Ext
JS等等,那么我们到底在什么情况下该使用那个框架?以下是一组摘抄的数据:

现如今,jQuery 非常的流行,每位从事 Web 开发的都会使用 jQuery
或者相关的一些开源库。jQuery 的生态系统相当的完善,社区也特别的活跃。

我们完成了什么?

我们一直以我们同名的项目和出色的文档而闻名世界。在过去的一年里,jQuery
基金会一直在不断的探索,提供给 Web
开发者他们所需的工具和信息,帮助他们更好的完成工作,不仅仅是在
jQuery,jQuery UI 和 jQuery Mobile 方面。

特别是在过去的几个月里,jQuery
基金会获得了非常大的成就。在十月份,我们开始维护 jQuery Mousewheel
插件。十二月份,Google 把他们自己的 Pointer Events Polyfill(PEP)
转让给了 jQuery 基金会。最后,在一月份,我们宣布接收 Esprima 项目,一个
JavaScript
解析器,是很大一部分开发工具都在使用的。我们会继续开发和维护这些项目,也欢迎社区贡献一份力量,一起来完善。

2014 我们开始了 Chassis 项目, 为 CSS 库创建一个开放的标准。我们和
Topcoat,Zurb 基金会,Filament 组
织,Cardinal,Famo.us,Yandex,WordPress,Automattic,10up,960grid,Unsemantic,jQuery
Mobile,jQuery UI,Intel App Framework,Cascade CSS,Portland
Webworks,Adobe,Hulu 和 Bootstrap
的开发者一起探讨这个问题。我们希望能找到更多的贡献者和社区上的人员来一起讨论你到底希望从
CSS 框架得到什么。

Ajaxian在2007年底对Ajax工具进行了调查,部分调查结果见下表其中数字为调查者使用该工具的百分比,详细的请参见网页):

代码并不是 jQuery 的特别之处,也不是 jQuery 非常受欢迎的原因。jQuery
的辉煌是因为 jQuery
的社区用户非常活跃,贡献者也很努力的接纳新的使用者,努力维护。代码和文档都在不断完善,生态圈也在不断扩大。

这一年的数据统计

到今天为止,jQuery 基金会在 GitHub 上共拥有 45
个开源仓库,包括代码和文档。
 

如 果你需要 jQuery
基金会项目被广泛使用,无处不在的明显证据,那么可以看看我们 MaxCDN 上的
Content Delivery Network (CDN)。2014 年就有 2900 亿个请求,共 11
petabytes 的数据。当然,这是除了 jQuery 本地承载副本和其他
CDNs比如谷歌,微软或者 CDNJS)以外的数据。毫无疑问,2014
总请求数超过万亿。

即使是最好的代码项 目,没有好的文档也一样无法使用。Web
开发者反馈给我们的是,我们的文档不仅仅是好,而是非常棒!2014 年 jQuery
基金会文档共有 1.49 亿的页面浏览量,分别来自 230
个国家。我们的所有文档页面都提供在 GitHub 上,所以开发者可以发表
issues,pull requests
来改善他们。开源不仅仅适用于代码,同样也适用于文档,而且可以运行的很好!

此外,jQuery 基金会去年在世界各地主办,授权和参与了 10
场会议,包括圣地亚哥、芝加哥、奥地利维也纳、加拿大多伦多和英国牛津大学的
jQuery 大会。这些会议囊括了各种各样的主题,内容非常广泛,而且不仅仅是
jQuery 基金会维护的项目。所有会议的共同之处就是 Web
开发者如何提高开发的效率,开发出更好的产品。

Prototype jQuery Ext Script.aculo.us Mootools YUI JSON Dojo Backbase
34.1% 29.3% 22.5% 22.3% 14.3% 13% 12.9% 11.8% 8.3%

基于这么有经验和强大的 jQuery 开发社区,jQuery 基金会在 2012
年成立,管理的不仅仅是 jQuery,还有 jQuery 的一些生态软件,比如
QUnit,Globalize。去年还联合了 Dojo
基金会,继续扩大对一些项目的支持:Dojo,Grunt,Lodash 等等。

未来规划

今年我们会基于 Web
开发者的需求来继续推动标准的发展,在这个过程中,我们参与的 EcmaScript
TC39 和 W3C 可以跟 Web
开发者说明的是,直到目前为止,这些主要是由大型盈利企业和浏览器制作商控制的。同时我们打算提高我们在
Unicode Consortium 的参与度,加大 Globalize
的投资力度,让开发者更容易制作世界通用的软件。

我们当前维护的 Esprima 突出了另一个领域,可以提供给 Web
开发者更多的一些帮助:开发工具。此工具优化 JavaScript,CSS 和 HTML
的处理是非常碎片化的。Esprima
有多个进程来进行程序编写,创建,模块化和消耗 JavaScript
,但是没有一个适合作为标准建立。还有一大堆的包管理器,每个都有自身独特的优缺点。所以我们希望和开发商合作,缩小一些选项范围,减轻
JavaScript 库生产者和消费者的负担。

其中Prototype使用率最高,很大程度上是因为它是最早成熟的框架,很多以前在项目中采用,所以现在一直在用

在互联网,十年已经是永恒的辉煌,jQuery
却还在继续发展,希望创造下一个辉煌的十年!

2014 财务信息

因为 jQuery
基金会成员和赞助商的慷慨捐款和支持,我们才能组织一系列的活动,致力于我们的开源事业。最主要的投资是致力于
jQuery 基金会项目的发展,还有一些投资在了会议和教育方面。

图片 1

图片 2

让我们来看看选择AJAX框架的基础:

via jQuery
博客

致谢

我们非常骄傲能加入 jQuery
基金会,所有的一切都是团队成员持续努力工作的成果。同时非常感谢那些肯花时间报告
issues,修复文档和贡献代码分支的 Web 开发者。在改善 jQuery
基金会项目的同时,也在改善每个 Web 开发者的开发体验。

我们非常的感谢 jQuery
基金会成员和他们的支持!在过去的一年,一些公司,比如 IBM 和
Famo.us,参与了我们的一些工作,同时也提供了一些资源,非常感谢!让我们在
2015 做的更好更出色!

via blog.jquery.com


图片 3


基金会 2014 年度报告 jQuery 基金会支持所有
WEB 开发者在开放标准的基础上创建能让所有用户访问的 WEB
内容。我们通过支持开源软件,…

你的项目需求即你需要哪些特性,例如是否要求做出精美的界面、特效或其它功能)

文章转载自:开源中国社区 []    

是否支持A等级的浏览器IE, Firefox等)?

文档的质量:是否完善包含教程,API,代码示例等)

框架的可扩展性如何?为框架写插件容易吗?

你是否喜欢它的API的风格?

能大多程度上统一你的JavaScript代码的风格?

框架大小太大的框架导致用户下载时间的延长)

框架是否强迫你改变写HTML的方式Dojo就是这样)?

代码执行速度:性能如何?

代码是否为模块化Mootools为高度模块化)?代码可重用性如何?

 一、jQuery

主页:

设计思想

简洁的思想:几乎所有操作都是以选择DOM元素有强大的Selector)开始,然后是对其的操作Chaining等特性)。

优点

小,压缩后代码只有20多k无压缩代码94k)。

Selector和DOM操作的方便:jQuery的Selector与mootools的Element.Selectors.js比较,CSS
Selector, XPath Selector1.2后已删除)

Chaining:总是返回一个jQuery对象,可以连续操作。

文档的完整,易用性每个API都有完整的例子,这是其它框架现在不能比的),而且网上还有很多其它的文档,书籍。

应用的广泛,包括google code也使用了jQuery。

使用jQuery的站点:

核心的开发团队和核心人员:John Resig等。

简洁和简短的语法,容易记。

可扩展性:有大量用户开发的插件可供使用

jQuery
UI

友好和活跃的社区:google groups:

事件处理有很多方便的方法,如click,而不是单一的addEvent之类的。

缺点

由于设计思想是追求高效和简洁,没有面向对象的扩展。设计思路和Mootools不一样。

CSS Selector的速度稍微有些慢但是现在速度已经大幅提高)

Mootools

主页:

设计思想

面向对象的设计思想。

优点

模块化,各模块代码非常独立,最小的核心只有8k,最大的优点是可选择使用哪些模块,用的时候只导入使用的模块即可,完整的也不到180k没有压缩),压缩后不到70k。

语法的简洁,直观。

特效Effects):这一点比jQuery稍强,现在也正在开发Mootools
UI这应该是Ajax框架开发的一个趋势)。

代码写的优美,易阅读和修改。

文档的完整最新的1.2beta的文档比以前更详细)。

活跃的社区:官网(

性能:见:

缺点

修改了低层的一些类:如Array, String等,这也是设计思想的不同。

在DOM和CSS Selector上不如jQuery强大。

Dojo

主页:

优点

背后强大的支持:IBM、Sun、BEA等,这是非常重要的优势。

功能的强大,Full Stack的框架,扩展了DHTML的能力,例如:

支持与浏览器Back/Forward按钮的集成。

Dojo Offline,一个跨平台的离线存储API。

Chart组件,可以方便地在浏览器端生成图表。

基于SVG/VML的矢量图形库。

Google Maps、Yahoo! Maps组件,方便开发Mashup应用。

Comet支持,通过通用的Buyeux协议。

强大的UIDijit)。

面向对象的设计,统一的命名空间,包管理机制The Package System and Custom
Builds)

可扩展性。

缺点

复杂,学习曲线陡。

文档的极端不全,这是一个很大的问题。

API很多不稳定,各版本间改动较大,现在还不是一个成熟的框架。

侵入性太大,页面中大量使用dojo的属性,例如<button
dojoType=”dijit.form.Button”
id=”helloButton”>,如果将来dojo升级或者换一个框架时,负担会很大。

性能问题,由于dojo加载采用了同步的机制,会暂时锁定浏览器,导致CPU使用率达到100%。另外,很多Widget的速度很慢。

Ext JS

主页:

设计思想

组件化,推进RIARich Internet Application)的应用。

优点

强大的UI,而且性能不错,这是其最大的优点。

速度快,管是UI还是其它模块。

100%面向对象和组件化的思想,一致的语法,全局的命名空间。

文档的完整,规范,方便。

核心的开发团队,Jack Slocum等。

活跃的社区,迅速增加的用户量。

模块化实现,可扩展性强。

所有的组件widgets)都可直接使用,而无需进行设置当然,用户可以选择重新配置)。

缺点

稍复杂。

为重量级的框架包含大量UI),体积大。如果导入ext-all.js,压缩后也有近500k。

注意:EXT的商业使用:如果只是把extjs包含在自己的项目中,而且这个项目不是卖给用户做二次开发的工具箱,或组件库,就可以遵守LGPL协议免费使用;否则要付费。

总结

轻量级选择

轻量级的选择:主要是mootools和jquery,由于它们的设计思想的不同,jQuery是追求简洁和高效,Mootools除了追求这些目标以外,其核心在于面向对象,所以jQuery适合于快速开发,Mootools适合于稍大型和复杂的项目,其中需要面向对象的支持;另外,在Ajax的支持上,jQuery稍强一些;在Comet的支持上,jQuery有相关的插件,Mootools目前没有,但是Comet的核心在于服务器的支持,浏览器端的接口很简单,开发相关的插件很简单。

在面向对象的Javascript
Library中,mootools逐渐战胜了prototype体积大,面向对象的设计不合理等),也包括script.acul.ous基于prototype,实际上就是prototype上的UI库)。

面向RIA的框架

考虑纯JavaScripty库,目前主要是Dojo和ExtJS还有YUI)。Dojo更适合企业应用和产品开发的需要,因为离线存储、DataGrid、2D、3D图形、Chart、Comet等组件对于企业应用来说都是很重要的当然这些组件还要等一段时间才能稳定下来)。例如,BEA基于Mashup技术开发的产品中已经使用了Dojo。

ExtJS:美观和”易用”,并且足够强大。在对UI有比较大的需求时,是首选。

是 web20
的基石,现在网上流行几种开源的AJAX框架,比如:jQuery,Mootools,Dojo,Ext
JS等等,那么我们到底在什么情况下该使用那个框架?以下…

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图