JSP像烏云般擋住了JSF的光芒
JSP的成功,對Sun來說,是JSF推廣之路上的攔路虎。JSP由于簡單易學(xué),吸引了大批忠實的追隨者,這直接導(dǎo)致了從JSP向JSF的遷移,變得積重難返。雖然Sun早就意識到JSP缺陷在客戶端GUI上的,并提出了制訂JSF規(guī)范的設(shè)想,但是,Sun浪費了太多的時間,錯過了最好的機會。JSP重壓之下的JSF,能否像Sun所期望的那樣,成為JSP的替代者呢?
1. JSP,Java Web程序員的港灣
提到JSF,就不得不提JSP。和JSF只有一字之差的JSP,是JSF的前輩,它龐大的影子,籠罩著JSF弱小的身軀。Java Web程序員對于JSP技術(shù)的感情,與游子對于故鄉(xiāng)的感情同樣的深厚。他們生于JSP,長于JSP,當(dāng)翅膀漸硬,他們又從JSP出發(fā),在Java Web框架的都市里流浪,沉湎于Java Web框架的燈紅酒綠中。幸運者尋覓到了快樂和驚喜,選定一個框架安居樂業(yè),還不忘時時回JSP那里走走看看;而不幸者在收獲了痛苦和失望后,帶著空空的行囊,不約而同地邁上通往JSP的回家之路。JSP是上帝的寵兒,出生于人們呼喚動態(tài)Web網(wǎng)頁之時,成長于Internet應(yīng)用開花結(jié)果之際,現(xiàn)在,它終于建立了自己的王國。不管這個王國是耗費了多少程序員的青春才建立起來的,它的龐大是無可爭議的事實。這就是JSP,不是最完美的,但肯定是最強大的。
在網(wǎng)上看到過一篇文章,作者用Struts做Java Web框架,后來隨著應(yīng)用規(guī)模的擴大,發(fā)現(xiàn)Struts不堪重負,于是作者很煩惱,煩惱以后作出了一個決定,放棄任何所謂的框架,重新投入JSP和JavaBeans的懷抱,JSP的成功可見一斑。就如潘美辰在《我想要有個家》中唱到的那樣,JSP是“一個不需要華麗的地方”,在程序員“疲倦的時候”,他們“會想到它”;JSP也是“一個不需要多大的地方”,在程序員“受驚嚇的時候”,他們“才不會害怕”。JSP的平易近人,讓很多程序員一見鐘情,即使是Java Web的新手,也可以在十分鐘內(nèi)寫出自己編程生涯中的第一個動態(tài)網(wǎng)頁,而由此帶來的巨大的成就感,就像鴉片一樣,不斷滿足程序員那太需要滿足了的自信心,并讓他們慢慢變成了JSP忠心不二的奴隸。
2. 在JSP缺陷的陰影之下,JSF能否茁壯成長
我不想在這里批判JSP,在計算機技術(shù)發(fā)展的道路上,最完美的,往往不是最強大的,這幾乎已經(jīng)成為規(guī)律了。Unix之于DOS,Macintosh之于 Windows,Telephone之于VOIP,CDMA之于GSM等等,這樣的例子實在太多。存在的就是合理的,優(yōu)勝劣汰不以完美與否為標(biāo)準(zhǔn),JSP是程序員選擇的結(jié)果,盡管程序員為此付出了代價。于是乎,在世界的各個角落,從遙遠的大洋彼岸,到近在咫尺的我的隔壁,到處可見勤奮的程序員們在JSP的海洋里奮力劃水。一樣的姿勢,一樣的速度,一樣的氣喘如牛,日復(fù)一日年復(fù)一年地重復(fù)著別人已經(jīng)走過的路。旁邊不時掠過的聲聲汽笛他們充耳不聞,其實只要一伸手,就能搭上駛往成功彼岸的JSF快艇,但他們沒有這樣做。是因為他們很忙,忙得騰不出手來?還是因為JSP洪亮的嗓音,掩蓋了JSF的召喚?只有他們自己知道。
拋開感情因素,用理智的眼光去比較,JSP缺陷和JSF的優(yōu)勢,一樣地明顯。事實上,JSF的誕生,就是為了彌補JSP缺陷,可惜,JSF錯過了最好的時機。Sun在2001年提出了制訂JSF規(guī)范的設(shè)想時,就已經(jīng)意識到了JSP在GUI方面存在的嚴(yán)重問題,因此,在JSR(Java Specification Request,Java規(guī)范請求)#127中,Sun開門見山地指出,Servlet/JSP沒有定義任何針對客戶端GUI的應(yīng)用接口,并且將提供一個標(biāo)準(zhǔn)的GUI組件框架設(shè)定為JSF規(guī)范的第一目標(biāo)。那時JSP出道才兩年,未成燎原之勢,如果JSF規(guī)范的出臺沒有浪費那么多的時間,也許JSF早已取代JSP了。
可惜,現(xiàn)在對JSF來說,多少有些晚了。JSP的用戶逐年增加,去年據(jù)說增長率達到了驚人的94%!有這樣一個老前輩在前面擋著,JSF就像森林中的一顆小樹,只能從JSP的縫隙中分享一些漏下的陽光和雨露。手心手背都是肉,JSP和JSF,非此即彼、你死我活的爭斗,當(dāng)然不是Sun想要的,Sun所期望的,是JSF在Java Web世界里,發(fā)動一場針對JSP的和平演變。
【編輯推薦】