企业应用UI开发模式

今天和老板吃饭,谈到开发效率的问题。老板提议能否用一些网页设计工具来做ui开发,原因是他见到有的developer花费很多时间在写ui上面。老板认为如果做ui能直接拖拽控件,所见即所得,这样就可以把主要精力花在核心业务上面。老板本身是做业务的,博士出身,但是基本不懂软件开发。估计是平时看我用rose做设计觉得不错,才冒出这样的想法。

 

首先大概介绍一下我们公司的系统。我们是做制造业的生产管理系统,主要客户是模具制造,机器制造,印刷等行业的公司。我们只有一个产品,销售给不同公司的时候针对客户的一些特殊需求做一些定制。架构上用的是jsp+struts+ejb+oracle。系统复杂程度中等偏上,有四十多个业务模块,persistent object大概有近千个。

 

在显示层,大量使用了javascript/ajax,css。因为客户对界面user friendly要求很高,所以我们的界面很复杂,不是简单的单个object的crud。我开发了不少ajax-enabled ui controls,例如tree, grid table, split panel, tab panel, modal popup window, auto suggest(注:并非重新发明轮子,只是我做这些的时候ajax刚刚流行,很多现在牛b的框架都还没有出现,出现的也还不是很完善)。为了让其他developer能轻松的使用这些ui控件,我又写一系列的jsp tag。这些jsp tag的主要作用,一是封装了底层的javascript, css细节,二是负责和web层数据绑定,数据交互,以及和后台的xml配置(主要用于描述静态业务数据)绑定,三是自动进行数据验证。

 

好了,言归正传。我给老板的回答是:

 

1。基于目前的ui复杂性,90%都不是原生的html控件。如果用一般的网页设计工具,比如dreamweaver,frontpage这种,除了画一些整体的布局以外,似乎没有太大的其他用途。如果用dreamweaver来设计具体的页面,那样就无法使用现成的jsp tag,developer需要花费更多的时间来实现原先tag封装的复杂功能。

 

2。一些ide,都提供可视化开发jsp的功能。比如说eclipse, netbean, jdevelper。但他们提供的大部分也是原生的html control,复杂一点的会提供内置ajax功能的jsf facelet。但都不能满足我们的需求。

 

3。如果使用工具开发界面的话,工具必须能供提供扩展性。这样我或许可以用plugin的形式把自己封装过的ui控件加入到工具中,继而以拖拽的方法来“画“界面。否则虽然工具简化了layout的开发,但却大大复杂化了数据绑定,交互等其他方面。

 

4。有的developer做ui慢,是因为他不求甚解,不做研究,对javascript,css,html不熟。有些已经提供的功能都不知道用。对于这样的人,就算ui简单了,后台逻辑还是能累死他。

 

想和大家讨论的是:

 

A。对于企业系统,我很想知道其他公司表现层都是用什么样的开发模式?单靠美工mm可以搞定吗?我们公司根本就没有专门的美工,界面都是developer做的。

 

B。可视化开发能否真的提高开发效率?还是看起来很美,实际上用处不大?其实我个人总是感觉,可视化编辑器拽出来的代码都很龌龊。

 

C。有没有符合能符合我需求的可视界面工具?我感觉可以通过为ide开发一些插件来做到这一点,不知道是否可行?

 

欢迎大家指点,以及拍砖。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值