专访开源项目Amoeba架构师陈思儒
DBA notes站长冯大辉(Fenng)代表InfoQ中文站采访了分布式数据库Proxy开源项目Amoeba的架构师和主要开发者陈思儒,内容包括Amoeba项目的起因、功能及其愿景等。
作者 Scott Delap译者 Jason Lai 发布于 2007年5月6日 上午8时0分
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
dwr直接排除了,呵呵比较搞笑。其实,如果只是从界面上访问后台方法的话,dwr是比较简单的方式。如果要使用一些界面控件的话,dojo和yahooUI可以。不过dojo太复杂了,而且速度比较慢,如果你的html中有很多自己的javascript的话。
有点过时!
不是很客观!
偶也比较喜欢DWR
文章仅仅是针对作者的个人环境得出的对比结论,可以说总体上就不够客观
引用:
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就可以一起工作得很好
其实作者并没有说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应用!
上面只是自己的看法,欢迎讨论!
如果全部用ajax来构建,还不如用Flex呢。
基于框架的选择,应该和项目的需求、团队的技术积累等因素相关。开发团队选择这样的结果没有什么奇怪。
我关心的是,文章内容太短了,参考价值有限~
我认为jQuery很值得一试.prototype也就一般般.
Direct Web Reporting 1.0 这是DWR吗?!
DBA notes站长冯大辉(Fenng)代表InfoQ中文站采访了分布式数据库Proxy开源项目Amoeba的架构师和主要开发者陈思儒,内容包括Amoeba项目的起因、功能及其愿景等。
作为三期系列文章的第二部分,本文延续了上一期内容,介绍了RichFaces,包括如何把RichFaces集成到之前提到的示例应用中、如何部署RichFaces porlet和RichFaces的多种特性和功能。
Amazon Web Services(AWS)的传道者Jeff Barr讨论了SimpleDB、S3、EC2、SQS、云计算、Amazon的不同服务如何与应用交互、AWS的起源、SimpleDB和微软SQL Server Data Services、AWS cloud的全球化、三月份的AWS停机。
Erlang的并发模型很有名,它的健壮性也很有名。但其他方面呢?在这篇文章里,Dennis Byrne演示了如何用Erlang建立内部DSL。
本视频主要以FreeWheel为例,对一个基于Rails的企业级应用进行了剖析。其中包括:FreeWheel的架构、部署、数据库的问题、REST API、敏捷开发过程、如何去写测试以及持续集成等等。
JavaFX显示了Sun的Java系列产品市场方向的一个重大转变。随着1.0版的即将发布,InfoQ以JavaFX预览版为参考,与Sun高级工程师Joshua Marinacci探讨了即将发布的1.0正式版。
本文主要讲述了如何用JBoss Portlet Container 和JBoss Portlet Bridge创建新项目,怎样配置一个JSF应用去使用JBoss Portlet Bridge,以及JBoss Portlet Bridge所具备的功能。
9 条回复
回复