随着AJAX技术日益广泛地被采用,许多开发者和架构师仍然在尝试甚至挣扎于应该采用什么样的最佳方式来评估JavaScript框架/库。Brian Raindel提供了一些意见 ,关于在选择框架的过程中应该考虑的各个方面,总结如下:
◆项目需求
“这个Web 站点或者Web应用,是否需要AJAX,健壮的事件处理?是否需要特效库?”框架直接提供的功能的总量,以及使用框架需要的经验同样需要考虑。
◆对浏览器的支持
虽然大多数框架能够支持大多数浏览器,“……但是通常会有不易察觉的例外——Mac操作系统上的Safari浏览器常有这样的陷阱”。
◆开发团队对框架的支持力度
有一个核心开发团队来维护的框架是最好的。这样Bug报告和问题会有更快的响应速度,而且测试会更加严格,会更好地遵守开发指导方针。
◆框架的成熟度
“框架的成熟度是最能说明其寿命的指标,同时也是框架的坚实基础。一个成熟的框架不会是beta版的……”一个兴旺的社区,以及提供Subversion或CVS代码库,也是成熟标志。
◆公开更新和发布的频率
长时间的延迟和臃肿的发行版,都是你在将来得不到框架的有效支持的明确信号。反之,过多的公开版本意味着不稳定,或者项目不够专注。”
◆文档质量
文档是一个重要的区分指标。强健的文档包括API、书籍、教程和博客,而“只谈论句法的文档是最差劲的”。每个方法和属性的例子也是很有帮助的。
◆存在一个活跃的社区
“有经验的用户是愿意伸出援助之手还是打发你去其他地方寻找帮助?是否有开发者为框架开发扩展或者为核心框架作出贡献?”社区的个性也是判断社区是否可依靠的风向标。
◆基准测试
基准测试可以帮助我们对于框架的性能方面得到概括的认识。基准测试还说明了框架采用了某些质量保证方面的最佳实践。另外,“……即使是速度上的略微提高,或者软件的尺寸缩小了,都可以视作一种正面的改进。”
◆框架的可扩展性
“支持插件对于任何JavaScript框架来说都绝对是加分的,但是通常开发者仅仅想知道——在核心库中诊断问题所在有多困难?”
◆API风格
“这是一个重要的问题,但是是个复杂的问题。对于大多数开发者来说,只有在很多项目中使用过几个JavaScript框架之后,才会对这个问题有所认识。简洁和连贯性(chainability)是两个非常重要的特征,不要忽视。”
在对该文章的一些评论中,有一些很好的意见可以作为选择JavaScript库的标准:
◆是否有充分的功能测试和单元测试?—— Kanjax的评论
◆该框架是否有商业化的支持?
有许多评论者肯定了JQuery,然而Ian认为在需要高性能的场景下,使用JQuery和prototype需要格外注意:
如果你的应用需要高性能,那么你要小心这些JavaScript框架。Prototype和jQuery在使用大的数据表和网格的时候会死的很难看。
我对我目前正在工作的项目做了大量的基准测试,该项目大量使用AJAX技术,并且用在项目核心的大数据表上。
我试验过jQuery和Prototype,它们的性能总是不行。问题在于document.getElementById()方法。DOM的查找操作是非常耗时的。实际上,我们的测试似乎表明DOM查找不是通过哈希来完成的。
许多框架会加入你通常用不上的扩展,这些扩展会降低性能。我们的解决方案是研究框架做了什么,然后我们自己编写代码,除去所有的扩展和任何无关紧要的框架支持。
但是对于没有大数据表的小型Web页面,Prototype或者jQuery工作得很好,而且易于使用。
其它评论者指出Mootools提供了一份对Protoype、JQuery和Mootools进行的基准测试。
分享到:
相关推荐
xmlplus 是一个 JavaScript 框架,用于快速开发前后端项目。 基于组件设计 在 xmlplus 中,组件是基本的构造块。评价组件设计好坏的一个重要标准是封装度
Cox 是开原的 JavaScript 框架,它是在标准原生 JavaScript 基础之上对 JavaScript 使用的扩展 Cox 框架设计的原则 模块化 风格统一 不求精简只求实用 不污染环境提供的内置类型 ...
EasyUI是来自W3C标准WEB前端专家DHTML精英俱乐部的简单易用功能强大的轻量级WEB前端JavaScript框架!
Our.JS 是一个适用于 WEB 开发的 JavaScript 框架,它能让开发者使用可预期的 API 自由的编程,写出具备良好的兼容性、可读性和扩展性的代码。 OurJS 目前完全兼容 PC 端的 IE6 、Firefox、Chrome、Safari、Opera ...
摘要:脚本资源,Ajax/JavaScript,easyUI,JavaScript框架 jQuery easyUI——来自W3C标准WEB前端专家DHTML精英俱乐部的简单易用功能强大的轻量级WEB前端JavaScript框架。包括EasyUI.js核心文件、EasyUI.style样式对象...
第二篇为JavaScript对象,主要包括对象、核心对象、数组、正则表达式、对象模型和事件驱动、窗口与框架、文档对象、表单对象等内容;第三篇为高级技术,主要包括BOM中的其他对象、文档对象模型以及Ajax技术等内容。 ...
JavaScript脚本语言同其他语言一样,有它自身的基本数据类型,表达式和算术运算符及程序的基本程序框架。JavaScript提供了四种基本的数据类型和两种特殊数据类型用来处理数据和文字。而变量提供存放信息的地方,...
《精通JavaScript+jQuery》从JavaScript的基础知识开始,围绕标准Web的各项技术予以展开,通过大量实例对JavaScript、CSS、DOM、Ajax等Web关键技术进行深入浅出的分析。主要内容包括JavaScript的概念和基本语法、CSS...
使用DWZ框架自动邦定javascript效果. 不需要开发人员去关心javascript怎么写, 只要写标准html就可以了. DWZ简单扩展了html标准, 给HTML定义了一些特别的class 和attribute. DWZ框架会找到当前请求结果中的那些特别...
随着Web 越来越规范和标准的统一,Web组件化技术不断革新,移动端开发不断升华,出现了大量的开源前端框架: Bootstrap 主流框架之一,Bootstrap 是基于 HTML、CSS、JavaScript的,它简洁灵活,使得 Web 开发更加...
本篇除介绍Ajax原理和通用框架之外,还分别为从事Java和.NET开发的程序员安排了适合他们的DWR、Atlas框架。Ext篇:能否提供复杂用户界面,是RIA的一个重要判定标准。在本书中,笔者把这一重任交给了Ext。希望读者...
本篇除介绍Ajax原理和通用框架之外,还分别为从事Java和.NET开发的程序员安排了适合他们的DWR、Atlas框架。Ext篇:能否提供复杂用户界面,是RIA的一个重要判定标准。在本书中,笔者把这一重任交给了Ext。希望读者...
与流行的观点相反,JavaScript不是一个项目,而是一个具有开放标准的规范,在这个规范中,语言是由其核心团队进化和维护的。ECMAScript,JavaScript的另一个花哨名称不是开放源码,但它也有一个开放标准。 当您查看...
jQuery作为JavaScript框架的优秀代表,为广大开发者提供了诸多便利。 《精通JavaScript+jQuery(1CD)》从介绍JavaScript的基础知识开始,围绕标准Web的各项技术予以展开,通过大量实例对JavaScript、CSS、DOM、Ajax...
第1部分 JavaScript.cCSS与DOM基础篇 第1章 ccJavaScript概述 1.1 JavaScript的起源 1.2 浏览器之争 1.2.1 DHTML 1.2.2 浏览器之间的冲突 ...第3部分 jQuery框架篇 第4部分 综合案例篇
datavore, 一个小型快速的浏览器数据库引擎用JavaScript编写 DatavoreDatavore 是用JavaScript编写的浏览器数据库引擎中的。 Datavore使你能够在基于web的分析... Datavore由使用标准JavaScript数组实现的面向内存列
Vue是一个独立的社区驱动的项目,它是由尤雨溪在2014年作为其个人项目创建, [5] 是一个成熟的、经历了无数实战考验的框架,它是目前生产环境中使用最广泛的JavaScript框架之一,可以轻松处理大多数web应用的场景,...
1.9 标准化JavaScript和W3C 11 1.9.1 JavaScript对象 12 1.9.2 文档对象模型 12 1.10 关于浏览器 13 1.10.1 JavaScript的版本 14 1.10.2 你的浏览器遵循标准吗 16 1.10.3 浏览器是否已启用JavaScript ...
目前,JavaScript已经成为最流行的编程语言之一,被广泛应用于前端开发、后端开发、...同时,JavaScript的标准化也带来了更好的兼容性和更高的开发效率,使得广大开发者能够更好地利用JavaScript来构建优秀的应用程序。
大约在2006年年初,AJAX迅速成为Web 2.0开发中的一个热点,也成为开发以用户为中心的Web应用程序事实上的标准。然而,要开发出高质量的AJAX应用程序,首先要求开发者是一名JavaScript高手,并不得不使用一些远不如C#...