【CSDN特别策划】程序员在看到字母和数字组成的代码按照自己设想的流程执行,并且解决现实中的问题时,会有一种强烈的成就感。因为在那一刹那,他们感觉自己就像一个造物主。Java快速开发平台FastUnit的创始人张建民也不例外。他于2000年毕业于浙江大学,之后一直从事Java方面的项目和产品研发工作。
两年后,张建民担任了项目经理,这也是他的一个转折点。“当时面对近千万的项目,既兴奋又彷徨不安。第一次作为项目负责人,我在对项目进行各方面协调、外部系统整合、诸多技术难点、工期紧张、人手不足等问题上感到心里没底。”幸运的是,当时的部门经理和团队非常信任和支持他,这也给了张建民自信。这段艰苦而值得回味的经历对FastUnit的诞生起到了重要作用。
虽然这次的项目得到了客户的好评,但张建民也发现了很多问题。比如,为什么总是感觉资源不足、工期紧张?为什么总出现重复劳动,拖住有限的人力资源造成效率低下呢?
张建民回想起了自己的第一个工作任务:那是一个简单的增删改查应用。由于刚刚接触Java,他找到一个类似的模块代码来研究,然后把它当成模板,经过几处固定位置的修改之后就完成了自己的任务。这让他想到,这个过程其实是可以用某种自动化的方式来实现的。于是他开发了一套自动生成代码的工具,并在公司内部的项目中使用。
张建民说:“我能不能找到一个真正的简单易用、能够有效的快速开发、并且具有随需应变能力的二次开发平台呢?”通过对当时市场上的流行框架和现有的二次开发平台进行综合考察之后,张建民并没有找到一种设计方案和实际效果都令他满意的产品。于是,他决定由自己来开发。
2005年12月份,张建民正式开始了对FastUnit的研发工作。在此期间,他研究了很多开源产品的源码,揣摩WebWork、Hibernate等成熟框架的设计思想,并将开发过程如何能够更加简化、规范化、易管理等方面的技巧应用在自己的设计中。整个开发过程持续了一整年,又经过半年的测试、改进和产品化之后, 2007年5月份,FastUnit开始发布。
现在,张建民比较满意当初制定的主要特点:基于Java的可视化、无代码、快速开发等目标,FastUnit都已经基本实现了。在快速开发和用户权限系统方面,甚至超出了预定目标。
张建民表示,FastUnit 的定位是支持应用开发的完整过程。因此,在升级计划中,还将包含项目管理系统、文档系统和工作流支撑系统等,以便为应用开发提供更完整的支持。他还提到,决定要做这件事情就意味着需要长时间的投入和持续的热情,以及承担失败的风险。在设计方案的定型和具体模块的实现过程中,还会有太多的不眠之夜,会多次因为某个问题而停滞不前,部分模块多次推翻后重建。
例如,在开发控制台的单元可视化管理方面,这是开发的重点。为了适应纯浏览器开发,他们采用了 JavaScript 方案来实现动态管理。在这个过程中,他们遇到了一些技术困难,多次调整方案并对细节进行改进。仅此一项就用了两个星期的时间。
张建民认为目前 Java 应用的主流开发模式仍然是采用开源框架。这种现状的存在主要有两个方面的原因:首先,开发平台没有标准的模式可循,各种产品的实现机制完全不同,这就考验了用户的鉴别能力;其次,框架开发模式的思维根深蒂固,很多人对新的开发方式充满疑问。转型需要付出一定的学习成本,同时也要承担一定风险,所以观念的转变不是朝夕之间就可以完成的。
然而,框架并没有解决降低开发成本的问题,而只是制定了规范。例如,Struts 规则过于复杂,对于简单的模块仍然必须走一套繁琐的流程,实现模式也不利于维护。与之不同的二次开发平台,在提供了框架的基础上,进一步封装了可重用组件,在不同程度上支持快速开发、简化开发过程、节省工作量、使系统更易维护。有些集成可直接使用的子系统也是框架无法做到的。