Wabacus开发思想及特点
Wabacus框架,是一个能大大提高J2EE项目开发效率的通用快速开发框架,与ExtJs,JQuery等纯客户端框架不同,它提供的是前后台的完整解决方案,可以完成SSH框架的功能,但是开发效率比它快好几倍,因为基本上不用编写JSP/JAVA代码,或只要编写很少的代码。
Wabacus采用“面向声明”的编程思想,与传统编程思想相差很大,可以说是继“面向过程”、“面向对象”之后的又一次革命性改进,传统的编程思想不仅要程序员关注做什么,还要花很大的精力考虑如何做出来,如何做的好。虽然为了减少开发人员考虑“如何做”的复杂度,很多开发高手在各个层面提供了各种各样的框架(比如常用的Struts、Spring、Hibernate框架),但仍没有得到根本改善,J2EE开发仍是一个比较高门槛的工作,用户仍需编写大量的代码,而且这些框架本身的学习曲线都比较陡,不是那么容易掌握,精通就更困难了,用得不好还有可能起反作用。
使用Wabacus框架开发,可以最大限度将开发人员从“如何做”中解放出来,因为它采用的是面向声明的编程思想,所谓“声明”,就是只要把要做的功能说出来,具体如何实现交给Wabacus来完成,这样极大地降低了开发难度,提升了开发效率,而且可维护性也得到了明显提升,因为没有复杂的代码需要维护了。
当然,每个项目的具体业务非常复杂、灵活,Wabacus框架目前还没有智能到帮你处理100%你声明的功能,为了解决这个问题,支持所有场合的应用,框架提供了一系列接口方法,允许你在生命周期的各个阶段加入自己的实现,这样对于非常复杂的需求,你只要在生命周期的一个或几个阶段加入自己的实现,其它阶段使用框架提供的实现即可。目前Wabacus的策略是:80%以上的功能由框架根据开发人员的声明自动完成,20%以下的非常复杂、灵活的功能提供接口让开发人员自己实现,这样即大大提高了开发效率,又满足了各种场合的使用。
其实声明性开发也不是Wabacus独创,在很多框架中都有使用,而且都取得非常不错的效果。比如Spring,就是将对象的依赖关系做成可声明,提高对象依赖的灵活性和可维护性;应用服务器或Spring,提供声明性事务,提高了事务控制的灵活性,减低了开发难度等等。但是它们只是着眼某一个方面,做的不够彻底,带来的改善是局部的。而Wabacus框架在更大的范围提供了声明性编程,尽量将用户的整体开发效率提到最高,所以它对J2EE开发带来的好处是立体的,全方位的。
Wabacus在提供足够智能的功能时,并没有对运行效率带来任何损失,而且从理论上可以推断出比用SSH开发的项目性能更好,因为SSH在开发时,需要绕很多层,各个框架相互配合,尤其是Hibernate,为了保持O/R Mapping,需要在应用层缓存大量的对象,为了解决这个问题,还提出了一级缓存、二级缓存等概念。如果开发人员经验欠缺,效率更是大打折扣。而Wabacus尽量保持操作的无状态性,一次操作完成后基本上不在应用层缓存什么对象,绝大部分功能连session都不依赖。在数据库层操作也都是面向集合的,而不像Hibernate一样要经过对象的中转。同时为了进一步提高Wabacus项目的运行性能,框架会在启动加载配置文件时将运行所要的数据、依赖关系、JS文件全部准备好,运行时直接使用。
另外,Wabacus还对很多常用但很复杂的功能做了封装,比如输入联想、主从报表、冻结标题报表、树形表格、交叉统计、数据导入/导出等功能,如果要用其它框架开发,可能要编写很多代码,但用Wabacus,只要在配置文件中声明需要这些功能即可,框架会根据用户的声明提供相应要求的这些功能。
利用Wabacus框架进行开发,还有一个明显的好处,就是支持热部署,即用户增、删、改应用后,无需重启服务器或redeploy应用,只要在浏览器中访问一下:/ShowReport.wx?ACTIONTYPE=updateconfig,所做的所有更新即生效,这样不仅开发时更快速,上线也非常方便,基本上可以做到对服务的零中断。
最后以一个生活中的例子说明利用Wabacus开发和用传统框架开发的区别:
用jsp、servlet开发,相当于手写字聊天,每个字需要一笔一画地写出来,对方才明白你要表达的意思;
用ssh框架或其它框架开发,相当于用五笔字型打字聊天,一块一块地打,再复杂的字也就五笔以内打出来,比上一种方式要快,但还是要将字实现出来才能表达自己的意思。
用wabacus开发,相当于视频聊天,只要说出来(也就是声明出来),对方就知道你要表达的意思,而不用去把每个字写出来,因此速度比前两种方法快得多,对用户要求也很低,文盲都能顺利的与别人交流。
框架地址:http://code.google.com/p/wabacus/
在线DEMO演示地址:http://wabacus.btedu.gov.cn/WabacusDemo/ 、http://elib.hrbeu.edu.cn/WabacusDemo/
论坛地址:http://wabacus.btedu.gov.cn
(建议下载release包中WabacusDemo.war在本地部署,可以更快速体验框架提供的主要功能)
分享到:
相关推荐
### Wabacus框架开发指南(二):页面拦截器配置详解 #### 一、引言 在本章节中,我们将深入探讨Wabacus框架中的页面拦截器配置,这是框架提供的一个重要功能,允许开发者在页面加载前后执行特定的操作,从而实现如...
在实际应用中,开发人员可以利用wabacus框架的可扩展性和灵活性,通过编写CSS和JavaScript代码来调整皮肤的样式,或者直接使用类似曹元这样的热心用户提供的预设主题。这大大降低了开发复杂计算应用的门槛,同时也为...
Wabacus框架采用面向声明的开发模式,可以不用编程或极少编程即可实现复杂的数据展示,数据编辑,表单处理等功能,将J2EE的开发效率提高5倍以上,代码减少60%以上。 Wabacus框架主要特点: 采用面向声明的编程思想...
Wabacus框架开发指南(一).pdf
### Wabacus框架开发指南(一):组件详解 #### 一、Wabacus组件概述 Wabacus框架是一款用于快速开发报表和表单的应用框架,它提供了丰富的组件支持,以便开发者能够高效地构建出复杂的数据展示界面。本文将详细介绍...
Wabacus框架开发指南(一)参考.pdf
在开始开发之前,首先需要安装Wabacus框架。这通常可以通过使用包管理器(如npm)或者直接下载源码来完成。在项目目录中,通过运行特定的命令行指令,可以将Wabacus集成到你的项目环境中。配置文件的设置是关键,...
Wabacus框架相比传统的SSH框架(Struts+Spring+Hibernate)有以下几个显著特点: 1. **思想上的区别**: - SSH框架的思想是编写业务逻辑代码,而其他工作交给框架来完成。 - Wabacus框架的理念是在配置文件中声明...
Wabacus是一个高效且功能丰富的开源框架,旨在为软件开发者提供一个快速开发的平台,显著缩短项目的开发周期。相较于传统的SSH(Struts、Spring、Hibernate)框架,Wabacus在性能上表现出显著优势,据称可以达到六倍...
Wabacus是一款专为快速开发报表应用而设计的Java开源框架,它提供了丰富的功能来帮助开发者轻松创建复杂报表,并且支持各种数据库。下面将详细介绍文档中的各个部分以及所涉及的重要知识点。 ### 一、前言 #### 1.1...
Wabacus框架是一个提供了一组丰富的JavaScript接口方法的前端开发框架,允许开发人员通过编写JavaScript代码来操作和扩展框架的功能。本文档详细介绍了Wabacus框架中一些常用的客户端接口方法,这些方法可以帮助...
`Wabacus框架开发指南(一).pdf`和`Wabacus框架开发指南(二).pdf`是两份重要的参考资料,它们深入浅出地讲解了如何利用Wabacus进行项目开发。内容涵盖了从基本概念到高级特性的全面介绍,包括最佳实践、异常处理和...
在《Wabacus框架开发指南(一).pdf》和《Wabacus框架开发指南(二).pdf》中,详细列举了使用wabacus开发的实际案例,包括如何初始化项目、创建控件、配置报表、应用模板以及如何处理用户交互等步骤。这些实例涵盖了从...
《Wabacus框架常用接口方法详解》 Wabacus框架是一个强大的工具,它为开发者提供了丰富的客户端接口,便于实现各种功能。本文将详细介绍Wabacus框架中的常用接口方法,帮助开发者更好地理解和应用这些功能。 首先...
Wabacus框架主要为软件开发人员提供了JavaScript接口,便于他们在Web应用中实现特定功能,尤其是与数据交互相关的操作。这些接口允许开发者在客户端对数据报表和表单进行动态操作,例如赋值、添加记录行等,与框架...
wabacus相关多个技术文档(PDF).zip Wabacus框架标签手册.pdf Wabacus框架常用接口方法.pdf ...Wabacus框架高级开发指南.pdf Wabacus框架开发指南(二).pdf Wabacus框架开发指南(一).pdf Wabacus框架入门与提高.pdf
**Wabacus相关API以及Demo**是一套关于Wabacus框架的详细学习资源,适合对软件和插件开发感兴趣的IT从业者。Wabacus框架是一个强大的工具,它为开发者提供了便捷的方式来构建和管理复杂的计算和数据处理任务。这个...
面向声明的开发方式是Wabacus的核心特点之一。与传统的面向过程或面向对象编程不同,这种模式强调的是描述系统的行为和状态,而不是如何去控制执行流程。在Wabacus中,开发者只需定义好数据展示、数据编辑和表单处理...