JSF优势之五:请求处理生命周期的多阶段划分
虽然都是建立在Servlet基础之上,但JSF的生命周期要比JSP复杂得多。JSP的生命周期非常简单,页面被执行时,HTML标记立即被生成了,生命周期随即结束。而一个完整的JSF请求-处理生命周期被精心规划为6个阶段,典型的JSF请求需要经历所有阶段,某些特殊的请求也可以跳过一些阶段。阶段的细分,显然引入了更多的处理,但JSF框架会管理这一切,所以,程序员在获得更多控制能力的同时,工作量并没有增加。
JSF优势之六:伴随工具而生存
JSF带来了Web编程的巨大变革,变革的强烈程度超出了很多工具厂商的预料,以至于现在可供JSF使用的工具非常缺乏。缺乏工具支持的JSF只会令人敬而远之,因此,JSF在设计之初就为工具厂商预留了用武之地。在为数不多的JSF工具中,sun的Java Studio Creator是一个优秀的开发环境;Borland的Jbuilder在JSF1.1时曾经是非常好用的开发工具。
可惜现在对JSF1.2的支持没有跟上;Eclipse下JSF的插件很多,但真正支持所见即所得的JSF插件都是收费的,例如Bea的Workshop for JSF、Exadel的JSF Studio等等;此外,Oracle和IBM也有JSF的开发工具。随着工具的不断涌现,用JSF开发Web程序将会越来越方便和快速。
JSF优势之七:全面的用户自定义支持
前面提到,JSF将极大地简化Web程序的开发,作为一个相对复杂的框架,JSF是如何做到这点的呢?原来JSF为程序员提供了很多默认的组件和类,通常情况下,JSF的这些默认组件和类足以满足Web开发的需要了。但是,考虑到在某些应用场合,框架的默认行为也许不符合业务的要求,JSF特别允许程序员编写自己的组件和类,来满足客户的特殊需求。例如,程序员可以编写自己的UI组件,甚至可以创建自己的EL解释器,来支持非标准的EL表达语言。
JSF优势之八:Web开发的官方标准之一
JSF的1.0版本发布于2004年2月份,当时是作为一项独立的Web技术推出的。经过1.1版到现在最新的1.2版,短短的两年多时间,JSF终于在2006年年中成为Java EE 5的组成部分,上升为Web开发的官方标准之一。Java EE 5最重要的使命就是简化Java的开发,而JSF无疑为这一使命立下了汗马功劳。在Web框架层出不穷甚至有些泛滥成灾的今天,Sun以JSF来树立标准,对Java的发展是有益的。Sun在Java领域的领袖地位不容动摇,对于Java程序员来说,始终追随业界领袖的步伐,也许是避免技术落伍的最好方法。
JSF能否统一Web开发模式
上述的八大优势似乎没有改变JSF所处的尴尬境地,在J2EE下一代规范Java EE5.0中,JSF技术虽然被放到了一个非常重要的地位,J2EE社区也试图通过JSF来统一Web应用的开模式与方法, 但是JSF能否担起Sun所赋予的重任?实现Web开发的统一?
很多开发人士都对JSF不抱乐观的态度,JSF的精英们都称JSF是Web开发世界的创举, JSF可谓墙里开花,墙外不红,是什么原因的造成如此大的反差呢?
1.获取方式
书是我们获取知识第一来源,一种技术的火爆程度,我们不用在网上去做任何调查,只要去一下图书城结果就一目了然,关于JSF的书籍简直是凤毛麟角,难觅终影,这样在人们在获取JSF相关资料,JSF会大打折扣,比较经典《JSF in Action》国内还没哪家出版社有翻译动向,证明图书厂商还没有对JSF投入太多关注度。
2.中文讨论区成熟度不够
除了图书方面,讨论区的热度也很重要,打开JSF官方讨论区,对JSF大唱赞歌人大有人在,为什么国内这种讨论却少之又少呢?一些国内比较知名的讨论区中没有看到JSF的相关技术讨论,这样从影响度上从知识的渴求度上,都限制了JSF前进脚步。
3.Sun商业策略
Sun的商业运作模式一直存在问题,我们在之前曾经预言过如果JSF不叫JSF,而叫JSP3.0那么现在结果会如何呢?Sun可以不费一兵一卒从而实现JSP到JSF的合理过渡,同时也会有大批的JSP狂热者迅速的转向JSF,也可能有些人会认为两者是不同的两种技术,但是谁又能说Asp和Asp.net是两种相同的技术吗?同样的策略微软用的很成功,难道Sun没有想到吗?
4.开发工具的支持程度
这次采访袁总的时候,也提到了JSF依赖开发工具的支持,Sun,IBM,Orcale都提出了对JSF开发工具的支持,但是这些开发工具在简化开发方面是否做足了功课,宠大、全面、无所不能一直是众厂商炫耀技术的舞台,这次Apusic Studio提出了简化,易用两方面特性,这点从程序员角度出发的开发工具,我们还是值得期待的。
5.扩大影响力
每一种技术都要有忠实狂热者,同时要让更多人的来应用和学习,Struts成功就是很好例证,一位着名IT人士曾经说过,“即使公司发生惨绝人寰的人事大变动,产品经理也不必过于惊惶失措,茫茫人海中,有大批的Struts们可供选择,只需好好考虑好新员工的业务培训如何开展即可,而对于技术延续性,则不必太过于担心,这就是Struts 带来的战略性优势。
也是Struts在今天技术落后的情况还能一直保持领先地位,这点还是值得反思的,JSF如何在影响上扩大学习者的基层人群,打消企业的后顾之忧,影响高层对JSF企业框架的应用选择,不知JSF是否做好了准备。
综上所述只是个人观点,如果JSF能在影响力和扩大人层基数上突破瓶颈,那么统一Web开发的格局将指日可待。

