菜鸟的跳板牛人的乐园JSF“通吃”秘笈

在任何技术领域里,总会有那么一些高手存在,他们是技术发展的生力军。JSF不仅仅是初学者的跳板,也是Java Web高手的技术盛宴。这是JSF的高明之处,它给普通程序员以简单易用的一面,给高手们以复杂深奥的另一面。JSF只是一个规范,任何人都可以在这个规 范下编写自己的具体实现(Implementation),这无疑给了跃跃欲试的高手们一展身手的大好机会。

1. JSF是技术的盛宴

   在上一篇文章《JSF是初学者进入Java Web世界的跳板》中,当我费尽口舌,教唆菜鸟们以JSF作为参加Java Web竞赛的起跑线时,“牛人”们恐怕要骂我误人子弟了。不以为然一笑置之者会有,嗤之以鼻不屑一顾者会有,拍案而起大声叱责者亦会有。他们都是对的,因 为他们是“牛人”。所谓“牛人”,是这样一个群体,他们有着过人的智慧,有着对技术的狂热爱好,有着充沛的精力,有着打破沙锅问到底的钻研精神。他们非常 重视技术,但也仅仅是重视技术本身而已,而技术能否带来生产力的提高,并不是他们关注的重点。在他们手里,任何一项技术,都可以变成他们需要的样子,为他 们服务。一句话,他们关注技术,不关注生产力。JSP正是这样的技术,虽然强大却没有生产力,但在“牛人”们眼里,JSP就像开锁匠手中那根细小的钢针, 一番摆弄,任何门锁都可以打开。


   其实,JSF不仅仅是菜鸟的跳板,JSF也为“牛人”们准备了丰厚的技术大餐,“牛人”们在JSF里,肯定会找到属于他们的乐趣。JSF是迄今为止我所见 过最为复杂的框架,当然,我孤陋寡闻,所知有限,也许有别的更复杂的框架也未必不可。JSF的复杂性正是“牛人”们所需要的,Sun的专家组不愧是“牛 人”们的知音,他们在JSF里,设置了一道又一道关卡,给“牛人”们埋下了种种乐趣。比如,JSF的生命周期就被划分为6个阶段,这足够让“牛人”们好奇 一阵子的了。JSF为什么要划分6个阶段?在这6个生命周期阶段中,JSF又干了些什么?为什么要这么做?有什么好处?等等等等,“牛人”们在JSF里大 有可为。


   如果仅仅探索别人设计的机关、猜破别人设置的谜语,还不足以满足“牛人”们的求知欲的话,那好,JSF给“牛人”们留下了更大的空间。JSF的任何一部 分,都可以被替换,包括它的UI组件、它的渲染器、它的EL语言解释器、它的事件等等,甚至,如果你觉得,他6个阶段的生命周期划分,不怎么顺你的眼的 话,你可以用自己的生命周期替代它!


    2. JSF给高手留下的想象空间

    JSF的魅力,在于它给普通程序员以简单易用的一面,给“牛人”们以复杂深奥的另一面,既可以满足普通程序员对开发效率的追求,又给了“牛人”们足够的想 象空间和发挥余地,不同水平和不同程度的Java Web程序员,在JSF里相安无事。当普通程序员以近似桌面编程的速度,为赶项目工期而日夜奋战时,“牛人”们眉头一皱,计上心来,对JSF框架聊聊数语 的改动,或许可以让项目工期立马缩短一半。这样,“牛人”们的苦思冥想有了回报,普通程序员的青春也不再白白流逝,大家在JSF里相得益彰。

     事实上,JSF只是一个规范,它的具体实现(Implementation)可以不受限制,只要满足规范的要求,任何人都可以编写自己的实现 (Implementation),而规范保证JSF程序可以在不同的实现(Implementation)之间无缝地移植。制定一个规范,让所有的程序 员都有开发自己实现(Implementation)的机会,这是Sun的厚道之处,也是Java的生命力所在。最早的JSF实现 (Implementation),是Sun随JSF1.0规范一起发布的JSF RI,即JSF的参考实现(RI,Reference Implementation),这是一个与标准完全一致的实现(Implementation),目的是为其他厂商的实现 (Implementation)提供一个参考。RI之后不久,Apache推出了UI组件更丰富和功能更强大的开源JSF实现 (Implementation),称为MyFaces,深受程序员的喜爱。

    除了Sun和Apache,许多大小厂商也先继推出了自己的JSF实现(Implementation),可见,写一个自己的JSF实现 (Implementation),对于“牛人”们来说,并非不可能。说不定哪天“牛人”们发发狠,闭关修炼若干时日,JSF的世界里又会多出一个新的实 现(Implementation)。据说金蝶已经动手开发自己的JSF实现(Implementation)了,下一个会是谁呢?是你吗?“牛人”!


原文链接:http://tech.it168.com/j/n/2007-03-20/200703200910029.shtml

AddThis Social Bookmark Button

相关文档(Relevant Entries)
JNI完全手册
JBuilder9制作EXE文件
如何在Java中调用dll
JNI调用固有方法
Cache Your Data JDBC vs ADO NET
IntelliJ IDEA 5.0 新特性
用JavaHelp系统开发和交付更好的文档
《Eclipse集成开发工具》
WoW Powerleveling
Posted on March 21, 2007 8:09 PM | | | Comments (0) | | TrackBacks (0)

引用地址(TRACKBACKS)
 
TrackBack URL for this entry:
http://www.wujianrong.com/mt-tb.cgi/4878

发布评论(ADD YOUR COMMENTS)
 
感谢您参与评论;发表您的意见时请保持文章的相关性;不相关的或是单纯宣传的内容可能会被删掉。您的E-mail只是用来确认您发表的文章,不会出现在网页上。
Please keep your comments relevant to this blog entry. Email addresses are never displayed, but they are required to confirm your comments.

称呼(Name):      记住我的个人信息(Remember)
邮箱(Email):
网址(URL):
评论(Add your comments):

相关内容
广告计划