客户单位要三万职工,部门也要几百个,由于业务需求需要在一个页面以树型目录的形式展示所有部门和人员以便选取。用一般的先取出数据保存到value中的方法是根本行不通的,奔4 2.8打开页面都需要10秒钟左右。今天咬了咬牙,用xmlhttprequest+xml重写整个树型目录,速度提升上去了,不过用起来还是觉得不爽,就又把xml的部分剔除到,完全用纯javascript控制,总算达到了较满意的状态,初尝了AJAX的快捷和效率(不知道AJAX?look)。
从早上上班一直写到下午五点,虽然累的吐血,不过收获也颇丰。
1、xmlhttprequest+javascript绝对是杀手级的装配,只要功夫够硬,手拿这两个家伙基本在web页面上可以随心所欲了。
2、xml虽然是大家提倡的好东西,不过在我用过的项目以及程序中,总是感觉操作繁琐、占用资源、响应速度慢。包括asp, script, delphi ,c++ 中的应用都如此,感觉有点像几年前到处喊叫的EJB一样,也许是我的功底不够吧,有待以后深入了解下。
3、对于和服务器数据操作频繁和量大的程序,建议用AJAX来实现,一是新玩意(准确的说应该是新瓶旧酒);二来避免了频繁的post,让整个系统看起来更像是一个系统,不是个网站:-)。不过新手编写起来还是非常痛苦的,主要是Debug的痛苦,写AJAX代码很多部分全凭大脑模拟数据交互,原始的Write到页面的方法效率很低。
以上就是这次项目的收获吧。
忘了说,客户是一个国内有名的大中型钢铁集团,整个系统虽然应用简单,用户却是整个集团每个人和N多的部门,数据库是在人家已有的中心数据库上进行互访,用了很多触发器。项目签订前,和用户单位签订了责任担保书,如果因我方原因造成的数据库瘫痪全由我方负其责任和损失,写代码时都提着心吊着胆的写,生怕把人家的数据库搞坏。人家30000多名职工的钢铁集团到底不一样,干什么都有规有矩,整个系统从签订到今天为止,文档写的比代码多得多,各种各样,千奇百怪的文档和表格,连代码内select * from table这样的sql语句都要进行论证,给出SQL执行效率评定值,作为项目完工鉴定的加权分,晕啊晕。不过总体上真正的实现了一次项目运作,经验值大涨啊。