XUL Based Ajax
ZK: http://zk1.sourceforge.net/
http://sourceforge.net/forum/forum.php?thread_id=1389934&forum_id=510209 这里还有一个与Echo2的对比.
Server端的XUL. 把XUL通过预编译, 利用ajax技术生成js, css, xhtml之类的东西.
Server端的优势是开发快(学习曲线低), 运行安全. 缺点是执行效率没有Client端的高.
不管怎么样, 快速开发非常重要.
ZK只是一个Presentation Layer. 还需要和后台有一个集成. 后台只需要一个Service Layer就可以了. 如果数据量不大, 查询不是太复杂, 配合使用db4o这样的对象数据库, 两天就可以对付出一个看上去比较复杂的web应用了.
后台的持久层, 如果用户比较讲究, 那么就用iBatis. 但是用Hibernate还是要谨慎一点...这个是题外话.
这个东西最大的好处是快速开发. 最适合MIS类的东西, 给用户快速地做出一个原型. 如果用户的访问量不是太大, 直接拿去用也是相当不错的. 以后如果混不下去了, 就用这个出去骗吃骗喝了哈. 以前觉得ofbiz很适合这个用处, 现在又发现新东西了, 呵呵.
基本的步骤是这样的:
1. 看看用户的数据量有多大. 只要考虑1-2年内的业务需求, 不要考虑太长远. 如果数据量小于10万, 那么就直接用db4o. 否则, 就看他们的情况, 没钱的话用HSQLDB或者MySQL. 有钱的就用Oracle. :-) 应用服务器如果简单点就Jetty或者Tomcat. 有钱就WebLogic或者Websphere. 估计最后一般的选择都是HSQLDB + Jetty或者Oracle + WebLogic.
2. 根据用户的业务, 用PowerDesigner之类的数据库设计工具, 画ER图, 然后建表. 如果原来有数据库, 就revise engineering. 建表的时候尽量简单一些. 不要弄太复杂的约束和Trigger.
3. 用iBatis的那个Eclipse Plugin, 直接根据数据库的表结构, 生成Model, DAO和SqlMap文件. 既然是骗饭吃的东西, 自然不要弄什么OO的东西给自己添麻烦啦.
4. 根据用户的Use Case, 写Business Service Objects. 就是最普通的Singleton就行. 在里面调用DAO实现业务逻辑. 如果默认生成的DAO和SqlMap不够用, 就自己直接在里面加上手工写的SQL. 那个Plugin很智能, 每次表结构修改后重新生成Model, DAO和SqlMap文件, 能自动保留你原先手工修改的部分.
5. 用ZK(实际上就是XUL)写UI. 在ZK中用script直接调用Business Service. 界面如果用户不爽, 就用CSS美化一下.
这个路子, 真的是"价钱便宜量又足"啊....好象有点不对...本来想说ajax的, 结果扯到赚钱指南上去了...晕啊.
评论