InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

选择你所需要的Ajax框架

作者 Scott Delap 译者 Jason Lai 发布于 2007年5月6日

领域
语言 & 开发
主题
Java ,
Web框架
标签
Dojo ,
GWT ,
原型 ,
DWR ,
AJAX ,
Scriptaculous

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

看法 发表人 liu df 发表于
有点过时 发表人 kj z 发表于
偶也比较喜欢DWR 发表人 Kong Fanbin 发表于
结论太主观 发表人 you lq 发表于
看法 发表人 pollux sw 发表于
Re: 看法 发表人 Guo Xiaogang 发表于
没有什么奇怪的 发表人 Ke eamoi 发表于
jquery 发表人 chou benk 发表于
回复:选择你所需要的Ajax框架 发表人 杨 理帆 发表于
  1. 返回顶部

    看法

    发表人 liu df

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

  2. 返回顶部

    有点过时

    发表人 kj z

    有点过时!
    不是很客观!

  3. 返回顶部

    偶也比较喜欢DWR

    发表人 Kong Fanbin

    偶也比较喜欢DWR

  4. 返回顶部

    结论太主观

    发表人 you lq

    文章仅仅是针对作者的个人环境得出的对比结论,可以说总体上就不够客观
    引用:
    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. 返回顶部

    看法

    发表人 pollux sw

    其实作者并没有说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: 看法

    发表人 Guo Xiaogang

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

  7. 返回顶部

    没有什么奇怪的

    发表人 Ke eamoi

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

  8. 返回顶部

    jquery

    发表人 chou benk

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

  9. 返回顶部

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

    发表人 杨 理帆

    Direct Web Reporting 1.0 这是DWR吗?!

深度内容

大规模视频网站的计费与流量管理

本次分享将会就大规模视频网站的计费与流量管理这个话题,从操作层面细细进行讲解和分析,为系统工程师们揭示平日里我们没有关心的另一些内容。同时也希望本次分享能揭示行业中的一些“潜规则”,让互联网行业的流量与带宽管理更为开放与简洁。
本次演讲视频录制于QCon杭州2011

专访Jeffrey Richter:Windows 8是微软的重中之重

Jeffrey Richter以其多本Windows核心技术的经典著作而闻名,同时,他深入掌握微软的.NET等一系列核心技术,2012年1月,Jeffrey Richter在北京接受了InfoQ中文站的专访,谈到Windows 8和WinRT编程,并就异步编程、Windows编程中的可扩展性、性能和安全性方面给出自己的建议。

应用云平台的可用性——从新浪SAE看云平台设计

云计算平台的可用性,相比传统互联网服务而言,更加复杂和困难,也更具有挑战性。本文借助新浪SAE云平台为读者讲述了云平台可用性的定义、如何打造高可用的平台,以及对云计算的用户提出了建议。

JVM定制改进 @ 淘宝

淘宝高度重视Java平台的健康发展,组建了一个团队专注于Java平台的底层部分的性能、功能与稳定性改进;工作主要基于OpenJDK中的HotSpot VM开展,其中一些通用的功能随后也会逐渐反馈给OpenJDK社区。希望能与使用Java平台开发应用的大家交流经验。
本次演讲视频录制于QCon杭州2011

"伤得起"的云计算应用——对云端应用之架构的思考

2011年4月21日至22日是值得云计算从业者纪念的日子。Amazon的IaaS服务出现故障,导致许多商业网站的服务中断,影响非常严重。作为云计算用户,我们需要思考的是,如何保证即便在云服务不可用的情况,我们的应用架构仍然能够屹立不倒?本文正是站在云计算用户的角度试图探讨这一问题。

让交付的速度跟上思考的速度

12人的技术团队,4组刀片服务器,每月20亿的访问量,每日1次准时部署,99.9%的可用性。这可能吗?当然。想知道如何做的吗?百姓网将与您分享他们在DevOps实践过程中的经验和技巧。
本次演讲视频录制于QCon杭州2011

架构之路——穿行在产品和业务之间

篱笆作为一家起源于社区的电子商务公司,反映到技术层面就是同时要面对产品和业务,以及经营战略的变化调整。如何在产品和业务的夹缝之间完成技术架构的抽象与平衡,寻找更有效的价值定位,这当中有些经验教训和个人感悟愿与众人分享。
本次演讲视频录制于QCon杭州2011

特性注入:成功三部曲

本文将对特性注入以及相关方法做一个扫盲性的介绍。我们会解释这个框架的关键要素,并附上实例来证实它们。为了让文章保持相对较短,我们不会深入到某个工具或方法中,而是会给出一些参考资料,以便大家做进一步的研究。