Zkoss框架,Java产品/项目快速开发神器

    08年初开始接触Zkoss框架,到现在6年多的时间,不但本团队产品完全转型到Zkoss平台,并且推荐给数家公司,都已将前端展示替换为该框架,开发效率提高至少2倍以上,而且对于Web系统的设计,代码规整有着很大的帮助。

框架官网http://www.zkoss.org

注:zkoss官网上的例子都是标签式开发,此种方式我们未选用,我们使用的是后端类Swing开发方式。

市面上类似的框架有不少,完全使用服务器端语言开发,自动生成前端代码。
      Java有代表性的包括:zkoss,vaadin ...
      Php的有proda...
以上都可以再Web开发过程中使用服务器端语言做到组件装配,事件驱动。之前公司产品使用ExtJs+PHP开发,用了3,4年,虽然组件非常丰富,但是新人上手周期较长,调试繁琐,并且本人非常不喜欢js代码的调试,用firebug之类的跟踪也不爽,后来自行仿照proda的开发方式,实现了一套类似的平台,只不过前端还是基于Extjs,随着产品日趋复杂,客户化开发的需求的增多,平台的维护完善成本也在增加,因此尝试寻找一种现成完善的同类开发框架,在对N种框架尝试了预研性开发后,最终选定了Zkoss,实践证明,Zkoss框架非常不错。

当时选型的目标完全抛开语言限制,个人认为语言只是最基础的工具,无需拘泥。主要考虑:
    1). 开发方式
    2). 开发效率
    3). 运行效率
    4). 测试方式(自动化测试)
    5). 部署方式(集群)
    6). 框架扩展性(自行实现所需组件,自定义框架样式风格)
Zkoss基本都满足,Vaadin在美观程度上比较突出,但是事件驱动方式有点另类,Zkoss完全是Swing的开发方式。

产品开发框架转型后,主要达到了以下目标
    1). 模块开发无需考虑前台界面绘制,专注于逻辑实现
    2). 代码开发规整统一
            开发仅使用Java语言沿用Swing界面开发方式
            前后端代码无交织融合使用
            所有模块代码封闭,客开完全使用继承重载方式
    3). 降低层级模块间的耦合性
             按级别、分粒度继承封装
             主要使用基于组件的开发方式,MVC为辅助
             模块开发采用服务装配的方式
    4). 人员分层次按平台功能开发
    5). 降低客开人员开发调试难度

具体的范例,演示,文档在此不再细说,参见zkoss官网。

下面附上开发风格代码:Zkoss框架,Java产品/项目快速开发神器_第1张图片

你可能感兴趣的:(Zkoss,Web系统开发,纯服务器端ajax框架)