使用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,一定要谨慎啊。使用新的技术和框架,一定要谨慎,这是我的教训,希望给同行们一个参考。

举报

相关文章推荐

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

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

配置cuda环境的痛苦经历

吐槽: 最近太坑爹,要配置一个服务器来验证算法,结果各种不顺~ Experience1:给ubuntu安装远程桌面(xrdp) 用windows的mstsc连接ubuntu需要先在ubuntu上安装...
  • Linoi
  • Linoi
  • 2014-08-17 14:43
  • 2356

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

在win10+Linux Ubuntu双系统下安装win xp三系统的痛苦经历

背景:博主电脑牌子为宏基笔记本,系统为win10+Ubuntu 14.10,主引导界面已经用Easybcd调整过。本来想作为教程发布的,结果。。。由于新建了分区导致Ubuntu的grub读盘错误!最后...

Linux下制作win7 u盘安装盘(菜鸟痛苦的经历)

最近一直在学习Linux,所以在自己电脑上安装了双系统fedora 18和win7,双系统的引导是大名鼎鼎的grub2。昨天win7突然崩溃了,尝试了各种方法都没能搞定,最后只能使出杀手锏--重装系统...

Centos6.7 Centos7.0 安装OpenVSwitch痛苦经历

由于RedHat系列系统默认不安装OpenVSwitch,因此需要自己安装。如果你是Centos6.7以前的版本,那么我只能说,你非常走运!!并且不用浏览本博客文章。 下面我的linux系统环境...
  • xxb249
  • xxb249
  • 2015-11-01 19:26
  • 2988

thrift — 记关于"Read a frame size of "的痛苦经历

thrift开源出来好多年,得到了大家认可。我本人也觉得thrift非常优秀。CTO说要公司定制的RPC框架,起初基于netty开发了一套RPC框架,协议为json,因为考虑通用性和实用性,最终选择了...

没有痛苦的博士求学经历不是合格的

今天看到了。转载一下 当科研坚持不下去的

QT中QProcess调用命令行的痛苦经历

在QT程序中需要将某些目录和文件压缩为一个rar的压缩包,于是想到了在QT中通过QProcess类调用命令行的rar.exe来达到效果,但是没想到QProcess类用起来很麻烦,而且达不到效果,折腾了...

一次痛苦的EasyUI使用和优化历程

最近公司决定对原先的程序进行UI改造。我有幸参与。下面我将分享我这次进行的全过程。先声明一点,由于涉及公司的机密,所以我不会上传代码,只会讲述过程,如有不明白的请留言。 1.原先我们的系统的数据展示...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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