InfoQ

新闻

选择你所需要的Ajax框架

作者 Scott Delap 译者 Jason Lai 发布于 2007年5月6日 上午8时0分

社区
Java
主题
Web框架
标签
Dojo,
AJAX,
DWR,
Scriptaculous,
GWT,
原型

Dr. Dobbs网站最近刊登了一篇关于如何选择Ajax框架的案例分析,取自T. Rowe Price的一个开发团队。该团队评估了在他们的下一代应用中可选用的几个热门Ajax框架:

  • Dojo 0.3.1(dojotoolkit.org);
  • Prototype和Scriptaculous 1.4(www.prototypejs.org和script.aculo.us);
  • Direct Web Reporting 1.0(getahead.org/dwr);
  • Yahoo! User Interface Library 0.11.1(developer.yahoo.com/yui);
  • Google Web Toolkit 1.0(code.google.com/webtoolkit)。

经过最初考察之后,GWT就被从名单上剔除了,因为和团队原有的UI和后台开发人员分配不符,而且必须学习一套基于Java的新API。DWR也被排出在考虑范围之内,因为需要给T. Rowe Price使用的Websphere应用服务器打补丁。于是,接下来的考察对象就只剩下Prototype、Dojo和Yahoo UI了。

随后,文章比较了三个框架各自如何实现创建一个标签型Ajax Widget和一个带标题栏的动态“Hub”Widget。为了实现所需要的标签Widget功能,三个框架都需要进行一定的定制工作,但Dojo已经直接附带了最为接近的功能。随后,该团队又考察了加载时间:

……所使用的框架代码量级越小,性能衰减的可能性就越小。YUI完全压缩后的JavaScript文件需要22K,而Prototype是32K,明显比单独定制的Dojo JavaScript文件(220K)要小很多。这三个框架在高速网络连接的情况下性能都很不错;然而,YUI和Prototypes/Scriptaculous在56K的拨号上网连接下性能要高一些……

最后,开发团队考察了开发的总体难易程度。得出的结论是Dojo提供了更多的特性和Widget,但要进行定制难度就显得很比较大,因为需要更改的文件数量很多。最终,他们选择了Yahoo UI,原因是它的代码提供了详尽的文档,并且在Yahoo网站上还有详细的入门手册。

查看英文原文:Picking an Ajax Framework

看法 发表人 df liu 发表于 2007年5月7日 上午2时9分
有点过时 发表人 z kj 发表于 2007年5月7日 上午2时36分
偶也比较喜欢DWR 发表人 kong xx 发表于 2007年5月7日 上午7时4分
结论太主观 发表人 lq you 发表于 2007年5月7日 下午9时0分
看法 发表人 sw pollux 发表于 2007年5月8日 上午4时0分
Re: 看法 发表人 Xiaogang Guo 发表于 2007年5月10日 下午2时8分
没有什么奇怪的 发表人 eamoi Ke 发表于 2007年5月10日 下午8时25分
jquery 发表人 benk chou 发表于 2007年10月4日 上午8时40分
回复:选择你所需要的Ajax框架 发表人 Ali Yang 发表于 2008年5月17日 下午10时23分
  1. 返回顶部

    看法

    2007年5月7日 上午2时9分 发表人 df liu

    dwr直接排除了,呵呵比较搞笑。其实,如果只是从界面上访问后台方法的话,dwr是比较简单的方式。如果要使用一些界面控件的话,dojo和yahooUI可以。不过dojo太复杂了,而且速度比较慢,如果你的html中有很多自己的javascript的话。

  2. 返回顶部

    有点过时

    2007年5月7日 上午2时36分 发表人 z kj

    有点过时! 不是很客观!

  3. 返回顶部

    偶也比较喜欢DWR

    2007年5月7日 上午7时4分 发表人 kong xx

    偶也比较喜欢DWR

  4. 返回顶部

    结论太主观

    2007年5月7日 下午9时0分 发表人 lq you

    文章仅仅是针对作者的个人环境得出的对比结论,可以说总体上就不够客观 引用: Because a custom patch was required to make it work with our environment, we decided that DWR wasn't a good fit. 尤其是这个太搞笑了。 另外,不同的AJAX框架实际上并不是一定要互斥使用,通过精心设计是可以协同使用的,比如DWR和YUI就可以一起工作得很好

  5. 返回顶部

    看法

    2007年5月8日 上午4时0分 发表人 sw pollux

    其实作者并没有说DWR不好,也没有否定GWT。只是他们认为要学习新的java API。 YUI,我没有用过,在做项目的时候,曾使用过extjs1.0 beta。但最终选择了dojo0.42 rc。但dojo0.4的性能确实是一个比较严重的问题。但在页面中使用了大量的widgets的时候,cpu几乎都是100%。并且在处理html元素的时候,操作很不方便。现在dojo 0.9近在眼前。对widget有了比较大的翻新和改动。另外包的层次也有相应的调整。我相信在性能和可扩展性上都会有较大的提升。相信在1年之后会成为领头羊!特别是cometd的支持! prototype和jquery两者,我比较看好jquery。 dwr发展很快,应该会在java项目中占一席之地! GWT估计1-2年内很难在国内有市场。毕竟目前国内没有项目会全部用ajax来构件web应用! 上面只是自己的看法,欢迎讨论!

  6. 返回顶部

    Re: 看法

    2007年5月10日 下午2时8分 发表人 Xiaogang Guo

    如果全部用ajax来构建,还不如用Flex呢。

  7. 返回顶部

    没有什么奇怪的

    2007年5月10日 下午8时25分 发表人 eamoi Ke

    基于框架的选择,应该和项目的需求、团队的技术积累等因素相关。开发团队选择这样的结果没有什么奇怪。 我关心的是,文章内容太短了,参考价值有限~

  8. 返回顶部

    jquery

    2007年10月4日 上午8时40分 发表人 benk chou

    我认为jQuery很值得一试.prototype也就一般般.

  9. 返回顶部

    回复:选择你所需要的Ajax框架

    2008年5月17日 下午10时23分 发表人 Ali Yang

    Direct Web Reporting 1.0 这是DWR吗?!

深度内容

和Google互补的搜索引擎Wolfram|Alpha

Wolfram|Alpha与Google究竟是什么关系,Wolfram|Alpha自己是如何定位的?Wolfram|Alaph在多大程度上是语义网搜索呢?InfoQ中文站就等等这些问题采访了Wolfram研究公司中国区商务经理王翔。

SOA契约成熟度模型

本文说明了所推荐的契约版本管理设计策略是如何与SOA成熟度模型发生联系的。文章目的是为实现版本管理和可组合性提供一个路线图。

数据服务简介

Vijay Narayanan在这篇文章中对数据服务的几个方面进行了介绍,它们都是SOA实践者和数据架构师感兴趣的内容。本文对数据服务的几个方面进行了介绍,包括需求定义,基本原理和好处、范围、开发以及消费模式。

分块云计算

在本文中,Jimmy Nilsson描述了一种他在过去数年间观察到的一种正在缓慢成长的架构风格,他把这种风格称为“分块云计算”。

豆瓣网技术架构变迁

罗马不是一天建成的,豆瓣的技术架构也是随着用户规模的增长一直在持续变化中。在本次演讲中,豆瓣的首席架构师洪强宁将与大家一起分享从上线时的单台服务器架构开始一直到现在的豆瓣架构变迁历程。

融合思想:深入探索S#arp架构

Billy McCafferty展示了S#arp架构,它在ASP.NET MVC框架的基础上,荟萃了当今的最佳实践,应用在ASP.NET Web应用程序的架构设计中。

王雷谈开源以及新兴市场计划

中国作为新兴市场中的新兴市场,是Sun在美国之外实施SSE(SUN Startup Essentials)项目重点关注的地区。在QCon Beijing 2009期间,InfoQ中文站有幸对此项目的负责人王雷先生进行了采访,探讨了关于开源、新兴市场、SSE等话题。

使用HTML5构建下一代的Web Form

HTML5 是由 WHATWG发起的,最开始的名称叫做Web Application 1.0,而后这个标准吸纳了Web Forms 2.0的标准,并一同被W3C组织所采用,合并成为下一代的HTML5标准。