????????? 經(jīng)過數(shù)年的“框架大戰(zhàn)”,Java界的各種框架找到了自己應(yīng)有的位置。
???????? Spring+Hibernate+Struts已成為Java開發(fā)的主流體系。在這個體系中,Spring+Hibernate的地位應(yīng)該說短期內(nèi)是難以撼動了。除了新興的Jboss Seam作為挑戰(zhàn)者之外,幾乎難有勁敵。有趣的是當(dāng)初Spring、Hibernate作為挑戰(zhàn)者,將官方的EJB成功挑落馬下;這次反倒是官方的EBJ3成了挑戰(zhàn)者,不知結(jié)局如何。
???????? Java B/S編程中歷來戰(zhàn)火最激烈的其實還在Web層,框架的數(shù)量最多,爭議最大。
一切由Struts而起,而Struts最終也坐穩(wěn)了第一個時代的王座。在技術(shù)層面,Struts 1.x已經(jīng)被無數(shù)人抱怨過、批評過,但終于還是穩(wěn)坐王位,這充分說明了習(xí)慣的力量。“穩(wěn)定壓倒一切”,這句話在IT技術(shù)領(lǐng)域仍舊適用。
???????? 其實IT應(yīng)用技術(shù),什么新鮮玩意并不難學(xué)。難的是標(biāo)準(zhǔn)化和規(guī)范化。每個程序員都有自己的思路和習(xí)慣,寫出來的代碼自然是五花八門。Java何以成為編程界的老大,很重要的一點在于Java的規(guī)范化。這種規(guī)范化很高的語言適用于多人合作的大型項目,便于溝通和理解,也就便于集成和維護。Java世界為什么會框架橫飛,說到底還是規(guī)范化的需要。純JSP和Struts寫Web誰快,擺明了是JSP。那撐飽了用Struts?原因在于100個人寫出來的JSP,有100種寫法;而100個人寫出來的Struts,基本相似。Struts之成功,正緣于其在Java Web層的規(guī)范化方面所做出的貢獻。
???????? 然而長江后浪推前浪,Struts 1.x的技術(shù)缺陷畢竟是隱患。
???????? Sun力推JSF,打算一雪Web層框架缺失之恥。可惜JSF既要沿用Swing的技術(shù)路線,又要學(xué)ASP.NET,還要照顧產(chǎn)商的IDE,結(jié)果搞了個四不象,弄得里外不是人。當(dāng)然Sun的技術(shù)實力畢竟是超強的,只要別重蹈EJB的覆轍,拿出點專斷的精神(像這兩年的NetBeans),做出像Swing那樣水準(zhǔn)的東西,JSF當(dāng)大有作為。JSF現(xiàn)在比較有優(yōu)勢的是對Ajax的集成,這一點走在了其他框架的前面。
???????? 而Struts就更沒有志氣了,把WebWork換了個標(biāo)簽,湊出個Struts2,Bug多多。說實在話,根本不如原版的WebWork。如果不是靠了原先的fans捧場,根本就沒得混。不過Struts原本就不是以技術(shù)取勝的,靠的是搶占先機帶來的習(xí)慣優(yōu)勢。如果原先的fans們在這兩年內(nèi)都能轉(zhuǎn)到Struts2,那么Struts二世仍將雄霸天下。
???????? 綜上所述,未來兩年,JSF與Struts將展開Java Web框架的最終戰(zhàn)爭。
???????? 以筆者愚見,結(jié)局有二:一是不論Struts還是JSF獲勝,Java Web層都將結(jié)束混戰(zhàn)的局面,這對Java Web開發(fā)的標(biāo)準(zhǔn)化是非常有利的,并有助于鞏固Java在B/S界的地位;二是Struts1.x、Struts2、JSF三分天下,必然從整體上削弱Java在B/S界的競爭力,并將進一步被RoR、ASP.NET、PHP所蠶食。
???????? 以上內(nèi)容源自CSDN
posted on 2007-05-22 18:28
jadmin 閱讀(64)
評論(0) 編輯 收藏