论坛首页 Web前端技术论坛

使用Dojo的痛苦经历

浏览 52867 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-05-29  
哈哈,这么巧。去年6月,我是刚去一个公司。经理决定用dojo好像是0.43版本的。后来做了一个多月以后,经理突然说,用yui-ext(当时的叫法)。也就是extjs1.x版本。后来一直用extjs1.x版本做完了整个OA系统。今年三月末换到现在这家公司,转而研究Extjs2.0。现在觉得Ext还是一个比较不错的框架。只是Ext(包括现在的yui)都过于臃肿。
0 请登录后投票
   发表时间:2008-05-29  
可是我觉得ext最大的问题是程序员一直都要写js,而现在很多java的程序员对js很惧怕。
0 请登录后投票
   发表时间:2008-05-30  
为什么没有人知道ZK,一个非常优秀的框架,wwww.zkoss.org
0 请登录后投票
   发表时间:2008-05-31  
基于prototype js 自己写js Class就可以了,免得用别人的框架那么麻烦
不过要有js高手 而且需要些是时间
现在ajax框架有点泛滥 而稳定的 被大家接受的没有几个,贸然选择很可能导致项目延期或者失败,所以在选择这些不成熟框架的时候一定要格外谨慎
0 请登录后投票
   发表时间:2008-06-02  
比较同意楼上的说法。。我的项目现在也在用dojo,不过是最新的版本1.1,感觉不错。
以前用过0.4的版本,的确是很多问题,但能够看到dojo还是在不断进步和完善中。
ajax的应用对于传统的页面肯定是更占资源,特别IE下的内存泄露是个需要注意的问题。
另外提一下dojo的学习曲线的确比较陡,如果是一个时间很紧的项目,而dojo又是作为新技术的话,真的要好好做考量了。。
yiaduo 写道
大哥,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,一定要谨慎啊。使用新的技术和框架,一定要谨慎,这是我的教训,希望给同行们一个参考。

 

 

 

2 请登录后投票
   发表时间:2008-06-04  
我也发现过DOJO的性能问题,跟了下JS,发现有个地方有明显的死循环,改了就好了。
其实开源的东西有时候需要自己优化它!不完全拿来就用。
0 请登录后投票
   发表时间:2008-06-05  
个人认为一般的web页面用标准的html模式开发就足够了
如果让dojo蔓延每个页面,容易形成依赖关系
页面开发强调的应该是开发效率和开发的灵活性,而不是页面的美观
0 请登录后投票
   发表时间:2008-06-06  
shatuo 写道
KKFC 写道
dojo的朋友们,不要自己骗自己了
顶楼上的
就很想说怎么不用yui,学习人家js架构也是瞒不错的

说dojo好的人的能力比较强,看中的(猜得)是dojo的易扩展性,能改成一个适合自己的样子,我不熟悉dojo,觉的dojo比较适合“个性化”,widget和render等等全是要自己去做。我猜在一些高手眼中,dojo就是一种框架了(猜得)。dojo的licence太宽松了,这可能就是大家用它的原因之一。

同意。以前用dojo就是自己扩展,可惜时间和能力有限,做出来的东西和人家Ext一比...唉。
http://cats-tiger.iteye.com/blog/160169
0 请登录后投票
   发表时间:2008-06-07  
fkpwolf 写道
个人认为一般的web页面用标准的html模式开发就足够了
如果让dojo蔓延每个页面,容易形成依赖关系
页面开发强调的应该是开发效率和开发的灵活性,而不是页面的美观

0 请登录后投票
   发表时间:2008-06-17  
想不到国内有这么多人关注DOJO, 感谢KELLEY的引子.谈谈自己, 一个JS的菜鸟学习DOJO 五个月后的体会.

DOJO在BS结构中的地位类似于MFC在CS结构中的地位, 而prototype, jquery等轻量级的JS框架类似于BASIC在CS结构中.DOJO1.1是目前为止体系最完善,功能最强, 扩展性最高的JS框架.它瞄准的应用是RIA.无论从性能上, 还是从体系上, DOJO1.0 同 DOJO 0.9之前的版本相比有天壤之别.当然高性能的东西学习起来要时间长一些. 但是随着学习的深入, 前期投入的时间在开发调试的后期会加倍的补偿回来, 尤其是在一些需要持续开发,升级的项目中.随着RIA应用的普及, 类似DOJO的重量级的JS框架会越来越重要. STRUCT集成DOJO的事实已经清楚的表明DOJO在业界的地位. 只是DOJO的文档还比较差, 而且几乎都是ENGLSIH, 这局限了在国内的应用. 好在这种情况在迅速改变, DOJO的文档在最近已经有了很大的改观.

RIA的应用不可避免地要频繁AJAX请求, 和大量的JS程序. 合理使用DOJO的一些技术, 比如 cache, build, lazy load, local storage, etc可以极大地提高速度.在这方面, DOJO提供的多种工具应该可以满足绝大部分的应用.在目前国外的应用中, DOJO1.1的性能, 包括速度,扩展性和稳定性已经得到公认的赞扬. 当然最重要的还是好的程序结构. DOJO强大的功能可以充分保证实现复杂的结构.

尽管DOJO还有许多需要改进的地方, 但是可以毫无疑问地说, 基于DOJO体系设计的严密和完整, DOJO将会是将来市场中几个统治性的JS框架之一.
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics