解惑

解己之惑,解人之惑

标签:Framework

越来越喜欢ZK了

这几天一直在研究ZK,感觉是我做web开发以来见到的最好的Web的UI框架。
美国那边的Consultant在给我们做UI,但是他们的UI的框架还在开发中,而且好像还在根据我们的一些要求不断的修改他们自己的框架,所以进度很慢,上个星期给了一个final drop,但是问题多多,发了一个问题列表,到现在也没有任何回应,我就趁着这个功夫用ZK做了一份功能和UI类似的,从代码量上讲比那个少,而且最重要的是UI的代码很干净整洁。

以后会大力推广这个东东,把我的经验都整理出来。

ZK确实不错

前几天抱怨没有好的Web框架,Bob推荐了ZK,这几天有时间的时候试了下,感觉确实不错。
用ZK做原型确实不错,数据都可以是hardcode的,ZK的文档基本上都是在这种模式下的,但是我打算做的是那种真正可以运行的demo,可以连接我们的后台Service跑的,这样搞的时候发现Sample奇缺,也没有好的最佳实践,主要是ZK本身确实很灵活,既可以在view里面嵌script实现,也可以写类来实现,而且也可以写类来创建组件,慢慢的摸索了下,根据自己的偏好搞出基本的东西来了。以后有时间搞完善了就放出来给大家参考吧。
ZK的几个主要问题:

  • 没有真正的应用级的Sample,网站上的几个Real World Application都太简单
  • 现在应用的范围似乎不广,资源也就不那么多
  • License比较难过,要么是GPL,要么是Commercial,所以现阶段只能拿来练手和做原型。

我比较认可的特性:

  • 浏览器兼容性不错,几乎支持所有常见的浏览器
  • 入门比较容易,入门级的文档还是比较完善的,参考手册也还可以接受
  • 专注于Web,没有太去在意MVC之类,当然也并不限制你用MVC
  • 缺省情况下的设置都比较好,例如ListBox或者Grid里面的各列的宽度以及默认宽度100%之类的
  • 界面比较漂亮
  • 功能比较齐全

EJB单元测试框架

公司的产品要引入单元测试以及代码覆盖,让我做一个框架方便我们写单元测试代码,上网找了一下,找到一个不错的基础:MockEJB,大家可以先了解下相关的内容:
MockEJB项目简介信息
使用MockEJB简化EJB测试

我在这个基础上进行了扩充,框架具有如下的特性:

  • 读取EJB配制文件完成EJB的自动发布,框架会读取我们工程的ejb-jar.xml,jboss.xml,jbosscmp- jdbc.xml文件的配制信息并组合这些信息完成自动发布所需要的内容。
  • 共享的dummy数据,我们自己提供一个xml文件,里面存放一些dummy的数据,这些数据会在对应的Entity Bean被使用的时候自动插入数据库,完成数据的初始化工作(这样Session Bean中的SQL也可以取到一致的内容),在一个test方法结束的时候回滚,删除那些记录,消除Test Case之间的影响。
  • 自定义事务管理,每个test方法都处于同一个事务中,方法结束的时候事务回滚,消除Test Case之间的影响。
  • 支持部分find方法的实现,由于MockEJB对于Entity Bean只提供了对findByPrimaryKey的支持,甚至连findAll都不支持,框架在MockEJB提供的Aspect机制的基础上实现了 findAll等常用必备的find方法,并且对于自定义的find方法也提供部分支持,通过解析EJB配制文件中的SQL完成,但是可能性能不好,因为会遍历所有的记录并比较字段的值完成这个查找的过程。其它比较复杂的find方法(框架无法解析的SQL),需要自己实现对应的Aspect,框架会自动查找对应的Aspect。
  • Struts TestCase的基础上支持对Action的单元测试。

测试代码范例:
阅读全文

© 2024 解惑

本主题由Anders Noren提供向上 ↑