使用Dojo的痛苦经历

转载 2013年12月02日 18:04:07
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,一定要谨慎啊。使用新的技术和框架,一定要谨慎,这是我的教训,希望给同行们一个参考。

dojo初始使用

dojo的头部标准写法: @import "dojo-lib/dojo/resources/dojo.css"; @import "dojo-lib/dijit/themes/tundra/t...
  • xuzengqiang2
  • xuzengqiang2
  • 2014年03月07日 09:04
  • 742

Struts 2处理Dojo Ajax请求的一点经验

从Struts 1到Struts 2,从Dojo 1.5到Dojo 1.7、1.8,技术一直在进步,经验却需要时时更新。对于Web应用中最常碰到的Ajax请求处理,新版本的Struts 2和dojo ...
  • eengel
  • eengel
  • 2013年04月11日 14:12
  • 3222

KMP痛苦学习经历

PS: 要不是我刚才脑残把电源踢掉,现在这个博文估计已经写完····:(   KMP算法呢我就不介绍了,说说为什么学KMP,为了学AC自动机....   KMP算法的主要在于求next数组,大家可能对...
  • wang57389675
  • wang57389675
  • 2015年01月27日 12:17
  • 354

dojo实现表格

1、源码 BorderContainer.html: BorderContainer ...
  • you23hai45
  • you23hai45
  • 2013年12月22日 22:28
  • 1939

web前端之dojo实际应用及开发一:开始dojo(附有源码)

web前端之dojo实际应用及开发:开始dojo(附有源码)现在我们开始学习一个新的框架dojo,dojo的介绍dojo官网下载dojo-release-1.11.2.zip,解压缩后,修改文件夹名称...
  • u014785563
  • u014785563
  • 2016年12月02日 14:20
  • 650

刚开始学习编程的迷茫、痛苦是必然的?!。

其实,学编程就是这样,刚开始肯定是要糊涂一段时间的。在学习软件编程之前,我们大概都学了十几年的语文、数学,但是忽然接触以前从来没见过、没听过、更没写过的编程语言,还真的是措手不及啊。       我...
  • HXCHXC2
  • HXCHXC2
  • 2013年05月05日 00:07
  • 687

dojo学习教程

Dojo 作为最著名的 Ajax 开源项目之一,不仅让 Web 程序员可以免费获得和使用其框架进行 Web 应用的开发,更吸引了大量的开发者对其不断的扩充,开发新的组件。DojoX 就是在这样的开发社...
  • qq_15167261
  • qq_15167261
  • 2015年11月23日 09:30
  • 2055

为什么使用dojo?dojo与jquery有什么不同?dojo适合什么开发场景?

首先介绍一下dojo的特性: 1、dojo是一个符合AMD规范的企业级框架(dojo是一个重量级框架) 2、dojo全面支持异步加载JS机制(即:支持通过require异步加载JS模块,通过defin...
  • eguid_1
  • eguid_1
  • 2016年08月21日 16:38
  • 1886

用opencv使用大恒相机的痛苦经历

做毕业设计需要用到工业相机,之前的IDS需要还了,心想买个便宜点的(毕竟做完毕设就离开实验室了,太贵不好。。),挑了个国产的相机,大恒的DH-HV3151UC 从到货那天开始经历了整整一周的折磨(不...
  • a623406978
  • a623406978
  • 2017年04月14日 17:14
  • 2457

dojo中的dgrid使用时注意事项

最近在使用dojo的dgrid控件,遇到的问题还是蛮多的,有些细节不注意的话,很难符合你的要求,而且找个解决方案都没有。 求人不如求己,经过我认真地查看dgrid的demo,主要是这个 地址是:ht...
  • yipanbo
  • yipanbo
  • 2015年04月16日 12:11
  • 2506
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Dojo的痛苦经历
举报原因:
原因补充:

(最多只允许输入30个字)