锁定老帖子 主题: 使用Dojo的痛苦经历
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-21
2007年6月项目准备开始了,刚来到一个新的项目组,什么都是新的,除了我自己。 需要一个新的框架来开发项目,香港的同事决定使用Dojo,DWR, 我开始学习使用dojo,时间很短,但是我还是基本上熟悉了dojo的基本控件和架构。在此基础上搭建起了项目的基本框架。这是一个单页面,基于ajax和dojo widget的系统,一切都那么的新奇,又充满挑战,但是既然dojo有这么多后台,又有香港同事的推荐,我显得自信满满。 框架搭建的同事,也开始后了紧锣密鼓的招兵买马,一起都像是从零开始。陆陆续续,招了5个程序员和一个测试员。开始了整个项目的快速开发,由于需求由香港负责,而且需求做的比较细致,基本上问题很少。Dojo 却是麻烦不断。 首先的一个坏消息是当我们做完了几乎全部300个页面的时候,dojo宣布0.43不在得到支持,取而代之是完全不同的dojo0.9。 而且dojo0.9 还不是稳定的版本,问题多多,让我们骑虎难下,最后还是决定按兵不动。 随之而来,是dojo1.0,dojo1.1 的陆续发布,但是一直都无法让我看到希望的曙光。 与之相对的是ext在国内的广泛使用和热烈追捧。 Dojo 的控件有很多奇怪的地方,日期选择控件的行为非常怪异,与国内的使用习惯很不相同。而且样式极其丑陋,当字体放大缩小的时候更是丑陋。显示的格式和保存的格式需要分别指定。我们修改了大量的代码。 dojo 的下拉框也被用户投诉,过滤之后一定要再选择一次或者按回车才能选定结果,前台值和后台值分开操作也带来很多不变。 dojo 的验证文本框颜色现实有bug,我们不得不修改代码 dojo的对话框也有问题,对话框中无法在弹出对话框。对话框的操作和控制很不灵活。 js代码不利于管理,容易发生命名冲突。
致命的问题发生在项目的后期,在客户的系统进行测试时发现。dojo的性能非常差,在赛扬2G的电脑上,一个页面显示的时间竟然需要17秒。简直就是噩梦。 另外使用dojo的对话框时出现cpu占用100%而且一直不回落下来。 页面载入完成的时候,它有将整个页面重新刷新一次,又需要花费额外的5到8s时间,不仅花费更多的时间,而且严重影响客户体验。
还有开发过程中碰到的无数问题,虽然一个一个被解决,但是无疑是一次一次痛苦的煎熬。
最后,在性能面前,我被dojo彻底打败,如此的速度是任何客户都无法忍受的,客户不可能为了这个系统全部升级电脑cpu。而且还有很多未知的问题可能还没有被发觉,不如内存泄露,可能导致资源耗尽,内存耗尽。cpu 的占用可能在使用时间长了之后越来越高,等等,这些都是我担心的问题。
使用Ajax或者说Rich client,一定要谨慎啊。使用新的技术和框架,一定要谨慎,这是我的教训,希望给同行们一个参考。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-05-21
Dojo也好Ext也好 不如自己弄来的实惠
|
|
返回顶楼 | |
发表时间:2008-05-21
dojo没ext那么多license问题。 SmartClient不知怎么样,使用LGPL的license。这不,就见到一个用户前来咨询ext-->SmartClient的情况(估计受license的影响): 引用 Is there any better way to migrate from Ext to SmartClient?
引用 For example, take the "Array Grid" Ext example source:
new Ext.grid.GridPanel -> isc.ListGrid.create columns -> fields stripeRows -> alternateRecordStyles Then in each field: id/dataIndex -> name renderer -> formatCellValue sortable -> canSort header -> title http://forums.smartclient.com/showthread.php?p=7615#post7615 |
|
返回顶楼 | |
发表时间:2008-05-21
300个页面,不算是小项目了。solution 选择应该更慎重。连1.0都没达到得library,是不应该大量使用的。就当是买个教训吧。
|
|
返回顶楼 | |
发表时间:2008-05-21
dojo害了很多人,不过能从其源代码学到很多东西,看到维护一个js框架的艰辛了,还是等RIA算了,希望RIA不是苦海。
|
|
返回顶楼 | |
发表时间:2008-05-21
那么大家觉得现在的1.1版本如何?lz说的那些bug,1.1中依然存在吗?
原来听说过一个软件不到3.0不要使用它,现在觉得前台选择真的是很麻烦啊,举棋不定的。 |
|
返回顶楼 | |
发表时间:2008-05-21
1.1之后还会不会出现,0.4到0.9之类的迁移?
|
|
返回顶楼 | |
发表时间:2008-05-21
刚刚看了一下smartclient的demo,界面也挺华丽的,不过感觉速度比ext还慢。我是在FF3RC1上测得。
|
|
返回顶楼 | |
发表时间:2008-05-21
感谢lz分享经验
|
|
返回顶楼 | |
发表时间:2008-05-21
大哥,dojo基本上是所有ajax框架里面最好的。a11y, i18n,gfx这些,可以说大而全,但是又能灵活装配。
从0.4.3到0.9的迁移也不是那么困难的。
你说的一些widget的bug的问题,每个框架都有,至于命名空间冲突的问题,我看dojo在这方面是最好的,真不明白你是怎么做的。
至于性能问题,那是你没有做package, 引起了过多的同步装载,怪不了dojo的。
至于界面样式的问题,dojo确实默认的theme难看了点。不过,我想没有太多公司直接拿着某个框架的default theme直接上吧。
jelly 写道
2007年6月项目准备开始了,刚来到一个新的项目组,什么都是新的,除了我自己。 需要一个新的框架来开发项目,香港的同事决定使用Dojo,DWR, 我开始学习使用dojo,时间很短,但是我还是基本上熟悉了dojo的基本控件和架构。在此基础上搭建起了项目的基本框架。这是一个单页面,基于ajax和dojo widget的系统,一切都那么的新奇,又充满挑战,但是既然dojo有这么多后台,又有香港同事的推荐,我显得自信满满。 框架搭建的同事,也开始后了紧锣密鼓的招兵买马,一起都像是从零开始。陆陆续续,招了5个程序员和一个测试员。开始了整个项目的快速开发,由于需求由香港负责,而且需求做的比较细致,基本上问题很少。Dojo 却是麻烦不断。 首先的一个坏消息是当我们做完了几乎全部300个页面的时候,dojo宣布0.43不在得到支持,取而代之是完全不同的dojo0.9。 而且dojo0.9 还不是稳定的版本,问题多多,让我们骑虎难下,最后还是决定按兵不动。 随之而来,是dojo1.0,dojo1.1 的陆续发布,但是一直都无法让我看到希望的曙光。 与之相对的是ext在国内的广泛使用和热烈追捧。 Dojo 的控件有很多奇怪的地方,日期选择控件的行为非常怪异,与国内的使用习惯很不相同。而且样式极其丑陋,当字体放大缩小的时候更是丑陋。显示的格式和保存的格式需要分别指定。我们修改了大量的代码。
dojo 的下拉框也被用户投诉,过滤之后一定要再选择一次或者按回车才能选定结果,前台值和后台值分开操作也带来很多不变。 dojo 的验证文本框颜色现实有bug,我们不得不修改代码 dojo的对话框也有问题,对话框中无法在弹出对话框。对话框的操作和控制很不灵活。 js代码不利于管理,容易发生命名冲突。
致命的问题发生在项目的后期,在客户的系统进行测试时发现。dojo的性能非常差,在赛扬2G的电脑上,一个页面显示的时间竟然需要17秒。简直就是噩梦。 另外使用dojo的对话框时出现cpu占用100%而且一直不回落下来。 页面载入完成的时候,它有将整个页面重新刷新一次,又需要花费额外的5到8s时间,不仅花费更多的时间,而且严重影响客户体验。
还有开发过程中碰到的无数问题,虽然一个一个被解决,但是无疑是一次一次痛苦的煎熬。
最后,在性能面前,我被dojo彻底打败,如此的速度是任何客户都无法忍受的,客户不可能为了这个系统全部升级电脑cpu。而且还有很多未知的问题可能还没有被发觉,不如内存泄露,可能导致资源耗尽,内存耗尽。cpu 的占用可能在使用时间长了之后越来越高,等等,这些都是我担心的问题。
使用Ajax或者说Rich client,一定要谨慎啊。使用新的技术和框架,一定要谨慎,这是我的教训,希望给同行们一个参考。
|
|
返回顶楼 | |