淘先锋技术网

首页 1 2 3 4 5 6 7

这篇玩意没发到ajax去,说到底从来没有一个“我在做ajax”的心态,只是框架选型和一些感想而已。

认识的人要上一个类MIS的项目,应该就是那种普通的在线数量不是很夸张,内容就是管管数据库的应用,要我帮忙介绍一下可选架构。他们的背景是过往接触过不少的旧的东西做的MIS一类,比如Delphi或者Oracle Develope那种,这次打算蹭一下java的油让项目值钱一点好看一下,自己也上一个台阶。

于是我先扯了一通ROR打哈哈,效率多惊人代码多么少程序员负担多么轻架构多么契合人的自然思维等等,接着自然而然的转到WEBWORK+HIBERNATE这一块传统框架上面来,但是他们听了半天最后问“有没有象Delphi那种在界面上拖拖拉拉的?”于是我告诉他们也有,JSF或者Tapestry之类,JSF还有IDE还是厂商支持的,但是说到底对于初学者来说IDE肯定还是DOT NET最可亲效率最高,说到底既然你打算做web最终自己弄html弄style弄jscript是回避不了的。

结果过了两天他们忽然拿了ECHO给我看,问这个怎么样。我是想要喷那东西效率差资源吃的厉害臃肿庞大怎样怎样的,但是上了网站看了DEMO想了又想觉得企业想要的可能就是这种东西,说到底还是想要做界面,追求所谓“窗口控件模式的用户体验”而不是“文档流模式的用户体验”,我在线人数没那么大,像是做纯网站那样做一个光秃秃的controller读数据库然后在jsp里面一个tr一个tr渲出来这种手法能够提高的执行效率减少的资源消耗恐怕没什么意义,如果就十个在线那能浪费到哪里去?

不过说到底对于ECHO还是有不痛快的地方,怎么看怎么象老式的SWING程序,控件功能感觉很基本原始,demo的配色也难看弊了……当然只要耐心研究仔细改造自己写控件完全可以矫正过来,不过那种事情是战术实践的时候的事情,目前就先不着急下决心吧。

于是去google那一大堆VS文来看,最常见的是GWT VS ECHO,因为我早就知道GWT支持的只是java.util的子集,应用全放到客户端后安全性全要自己解决,且不说DEMO同样原始,感觉可以拿来做小工具但大东西就算了。然后发现这一类讨论的角落里面总会有人提到ZK。

爬上ZK一看DEMO,可定制可搜索的下拉选框和带校验(提示信息还是中文的)的文本框和树形可多选的grid,配色清新素淡,界面简洁大方,让我这看了半日呆版丑陋的windows里面一张大图一个button的demo的人吓了个半死,我感觉ZK比较像是第一线做实事的人定了需求弄出来的,而echo则更像是学院派那群“让我秀一个把swing web化的奇迹给你们看”高高在上的心态弄出来的。我怀着激动的心情打开ZK演示程序的源代码……然后热情就凉回去了一半,太丑陋了……它的应用就是一个xml文件,里面是嵌套的界面描述嵌入一个一个on_event然后直接把java代码嵌进去,最可笑的是jdbc的demo,直接在里面读驱动程序送用户密码连数据库了,看来这玩意恐怕还是一个第一线弄界面的人搞出来的而不是第一线写代码建架构的人搞的。(不过演示虽然丑,还是有专门怎样给应用加上spring+hibernate的文章介绍的)

说到底,我觉得ZK似乎能够做到想要实现的效果,代码撰写困难的问题是可以解决的,毕竟都有eclipse插件出来了,自身也是正经的语言系统,按照ZK网站那里的讨论用一些技巧把编码和界面剥离开来是可能的。但是这玩意用的人太少,心里总有些不放心。ECHO实在是从感性上不喜欢;而传统的命令模式的web架构(webwork一类)做出ZK同样的效果来需要花不少时间,也就是结构简单好维护执行效率高而已。唯一不确定的就是传统的控件模式的JSF或者Tapestry那种是否真的象想象的那么复杂难弄。ZK吸引我的另一个地方其应用是完全的xml文本改一下马上可以看效果,而不是一大堆配置文件加一大堆java代码每次都要重启server那种,可以趁机玩玩元编程。

所以说基本上打算冒点险玩ZK了,算是把想法交流一下,看看有没有先驱者给点注意事项,看看有什么自己没想到的问题吧。

echo
主页:http://www.nextapp.com/platform/echo2/echo/
在线演示:http://demo.nextapp.com/Demo/app

gwt
主页:http://code.google.com/webtoolkit/
在线演示:http://code.google.com/webtoolkit/documentation/examples/

ZK
主页:http://www.zkoss.org
在线演示:http://www.zkoss.org/zkdemo/userguide/