為什么是Wicket?
如果您正在尋求使用Java開(kāi)發(fā)Web應(yīng)用程序,目前,您有很多的選擇。實(shí)際上,存在如此眾多的Web應(yīng)用程序框架顯得有點(diǎn)搞笑。來(lái)自于互聯(lián)網(wǎng)一個(gè)博客站點(diǎn)的問(wèn)題:您能說(shuō)出多少Java Web應(yīng)用框架的名字?他們展現(xiàn)的結(jié)果如下:
框架,到處都是框架,參看后面附帶的表格。
為什么要“重新發(fā)明輪子”?
從這個(gè)角度看,您對(duì)于“另一個(gè)Web應(yīng)用程序框架有多好”這個(gè)問(wèn)題總是耿耿于懷?確實(shí),為什們要“重新發(fā)明輪子”呢?對(duì)這個(gè)古老的諺語(yǔ)的答復(fù)是:因?yàn)檫@一次可以使輪子更圓!
但是對(duì)于高質(zhì)量的期待并不是構(gòu)建Wicket框架的唯一動(dòng)因。甚至有很多的觀點(diǎn),認(rèn)為沒(méi)有其他的Web工具集填補(bǔ)這一空白,而Wicket做到了。實(shí)際上,Wicket與上面提及的眾多框架不太一樣。
與Wicket最相近的或許是Tapestry和Echo,但是這種相似性也很有限。和Tapestry一樣,Wicket使用特定的HTML屬性來(lái)標(biāo)識(shí)組件(Components)聲明,這可以方便使用一般的HTML編輯器進(jìn)行文件編輯。和Echo一樣,Wicket擁有一流的組件模型。但是基于Wicket的應(yīng)用程序和那些基于Tapestry和Echo的應(yīng)用程序不一樣,這是因?yàn)閺腤icket框架中兩方面都可以受益。您獲得了一流的組件模型和對(duì)HTML沒(méi)有干擾所帶來(lái)的益處。在很多情況下,這種復(fù)合的好處可以帶來(lái)非常重要的開(kāi)發(fā)優(yōu)勢(shì)。
理解了構(gòu)建Wicket的動(dòng)機(jī)有助于您理解為什么Wicket會(huì)表現(xiàn)的不一樣。
Echo | Cocoon |
Millstone |
OXF |
Struts | SOFIA |
Tapestry |
WebWork |
RIFE |
Spring MVC |
Canyamo | Maverick |
JPublish |
JATO |
Folium |
Jucas |
Verge |
Niggle |
Bishop |
Barracuda |
Action Framework |
Shocks |
TeaServlet |
wingS |
Expresso |
Bento |
jStatemachine |
jZonic |
OpenEmcee |
Turbine |
Scope |
Warfare |
JMAA |
Jaffa |
Jacquard |
Macaw |
Smile |
MyFaces |
Chiba |
JBanana |
Jeenius |
JWarp |
Genie |
Melati |
Dovetail |
Cameleon |
JFormular |
Xoplon |
Japple |
Helma |
Dinamica |
WebOnSwing |
Nacho |
Cassandra |
Baritus |
注:本文由Jonathan Locke編寫,相關(guān)權(quán)利由原作者承擔(dān)。