4. NetBeans的创新 限于篇幅,上面所介绍的,并非NetBeans可视化特征的全部,NetBeans的Visual Web Pack和JSF珠联璧合,在Java Web的可视化开发方面,向前迈出了非常成功的一步。 熟悉JSF的读者一定知道,JSF面世已经好几年了,虽然JSF的可视化开发工具一直在进步,不过推进速度显然不尽人意。包括Borland等在内的大牌IDE工具提供商,花了几年的时间,也没有能够推出一个让程序员得心应手的JSF可视化开发工具,为什么NetBeans的Visual Web Pack能够取得如此巨大的进步?在NetBeans可视化JSF应用开发的背后,到底隐藏着什么玄机? 要解答这些问题,还得从JSF本身说起。JSF是Java Web框架发展历程上的一个特立独行者,集简单和复杂于一身,而且是典型的极端主义。一方面,JSF的设计目标是简化Java Web开发,另一方面,JSF本身又是迄今为止最复杂的Java Web框架。这是JSF的两个特点,前一个特点由于工具的缺乏,并没有得到很好的发挥,倒是后一个特点,早被Sun的专家们有意无意地“推广”得家喻户晓了。 别的不说,一个被划分了六个阶段的请求处理生命周期,就足以让百分之九十的初学者望而却步了,剩下百分之十迎难而上的无畏者,半途中恐怕又被复杂的“模型”“模式”难倒一大片。只有大难不死的几个好钻牛角尖者,费九牛二虎之力弄明白了JSF的理论后,却发现缺乏工具支持的JSF,其实只是“看上去很美”。 没有工具支持的JSF,像一个迷宫,到达出口的路径有无数条,程序员宝贵的时间,大半浪费在选择一条合适的路径上了。工具对JSF来说举足轻重,但工具厂商如果只把思路局限于JSF的规范之内,那么,工具无非是给迷宫的道路铺上水泥而已,路虽然好走了,但解决不了方向性的问题。很多开发工具只是在做铺路的工作,包括大名鼎鼎的JBuilder以及Eclipse下种类繁多的JSF插件或插件包。 NetBeans终于在这方面有所突破,Visual Web Pack不但铺了路,还给迷宫架上了一座座桥梁,化繁杂为简洁,在迷宫入口与出口之间建立了直接的联通道路,彷佛现代城市中的立交桥和高架路。Visual Web Pack采用了很多项技术,来降低JSF框架的使用难度,这些技术,有的严格遵循JSF规范,有的是对规范的扩展,有的甚至与JSF规范的建议相左,不管怎样,采用了这些创新技术的NetBeans,把其他JSF工具远远地甩到了后面。 比如页面Bean就是Visual Web Pack的一项创新技术。当程序员在NetBeans中创建一个网页时,NetBeans自动地创建一个同名的页面Bean,并将这两者绑定在一起。JSF规范本身并没有页面Bean这个概念,有的只是托管Bean。页面Bean其实就是托管Bean,只不过因为它和页面有一一对应的关系,NetBeans将其称为页面Bean,以彰显其特别的用途。 托管Bean和绑定,都是JSF的标准技术,不足为奇,但将这两项技术组合起来,就是一个创举。做过JSF开发的程序员,恐怕都为页面和托管Bean的对应关系烦恼过,是一对多、多对一,还是一对一、多对多,不同的程序员有不同的选择,甚至同一个程序员一觉醒来,也可能完全推翻自己昨天的设计。在NetBeans中,这个不再是问题了,Visual Web Pack自动建立一对一的关系,自动以实例绑定的方式沟通页面组件和Bean属性,自动维护页面和页面Bean的同步,自动保持数据的同步更新等等。有了页面Bean,如果你想在代码中访问页面组件,直接访问页面Bean就行了,它是页面的编程逻辑,是Java代码形式的页面。 |