軟件技術(shù)的迅猛發(fā)展讓Java世界的Web 框架領(lǐng)域風(fēng)起云涌,各種架構(gòu)層出不窮,但你能High起來(lái)嗎?
回到六年前的今天談?wù)撨@個(gè)話題,我會(huì)脫口而出:Struts. 那是一個(gè)對(duì)Struts幾乎崇拜的時(shí)代,幾乎沒(méi)人對(duì)其質(zhì)疑。那時(shí)java世界的web framework世界如此"單純",單純得如此快樂(lè)。
Struts1.x : 經(jīng)典,堪稱經(jīng)典。倘若我在此時(shí)此刻我說(shuō)愛(ài)你,是不是真的落伍??!!
Struts2.x: Apache的期待越來(lái)越不好,合并webwork2的精髓之后,還是沒(méi)能趕上這一波web framework浪潮的XP.
Tapestry5: 如果我從來(lái)不見(jiàn)識(shí)Tapestry5, 我從來(lái)不覺(jué)得Tapestry3, Tapestry4的繁冗復(fù)雜??墒呛掼F不成鋼的Tapestry5,你什么時(shí)候才能Release,什么時(shí)候才能豐富你的社區(qū),集成當(dāng)前最流行的 AJAx元素.....? Howard, 如何你才能不食言?
JSF: 也許你是我正確的選擇,豐富的組件支持,貌似不錯(cuò)的IDE開(kāi)發(fā)支持,但是批評(píng)聲如雷貫耳,讓我怎么能選擇你,讓我怎么能與你一樣聲名狼藉?
Velocity: 有FreeMarker, 要你干什么?
FreeMarker: 有PHP/Python, 為什么還用FreeMarker?
SpringMVC/Turbine/Cocoon/Echo......
我不得不誠(chéng)然我甚至沒(méi)有深入其中的幾個(gè)框架,但是對(duì)java的web 框架的道聽(tīng)途說(shuō),已足以讓我心寒。
萬(wàn)花叢中過(guò),終只能采花一朵,是魚(yú)和熊掌的選擇,還是青菜和蘿卜的無(wú)奈?
如果是企業(yè)級(jí)系統(tǒng)開(kāi)發(fā),略微迂回的即便冗長(zhǎng)的解決方案的框架:Jsf或者Struts2是我一個(gè)妥協(xié)的選擇,理由有二:
1. 社區(qū)大
2. 組件豐富
如果面對(duì)的Internet應(yīng)用,對(duì)不起java,離開(kāi)你我迫不得已。我選擇:Ruby On Rails/CakePhp,理由:
1. XP
2. Simple
于是突然懷念起同??蜅@锖?jiǎn)單粗糙的生活,李大嘴總能二錢碎銀興奮一陣子......
明天就是中秋之夜,我希望大家也能想佟湘玉一樣在這個(gè)中秋之夜買壺酒,兩塊月餅,爬上屋頂,看看美麗的嫦娥,緬懷一下遠(yuǎn)去的純真時(shí)代。
回到六年前的今天談?wù)撨@個(gè)話題,我會(huì)脫口而出:Struts. 那是一個(gè)對(duì)Struts幾乎崇拜的時(shí)代,幾乎沒(méi)人對(duì)其質(zhì)疑。那時(shí)java世界的web framework世界如此"單純",單純得如此快樂(lè)。
Struts1.x : 經(jīng)典,堪稱經(jīng)典。倘若我在此時(shí)此刻我說(shuō)愛(ài)你,是不是真的落伍??!!
Struts2.x: Apache的期待越來(lái)越不好,合并webwork2的精髓之后,還是沒(méi)能趕上這一波web framework浪潮的XP.
Tapestry5: 如果我從來(lái)不見(jiàn)識(shí)Tapestry5, 我從來(lái)不覺(jué)得Tapestry3, Tapestry4的繁冗復(fù)雜??墒呛掼F不成鋼的Tapestry5,你什么時(shí)候才能Release,什么時(shí)候才能豐富你的社區(qū),集成當(dāng)前最流行的 AJAx元素.....? Howard, 如何你才能不食言?
JSF: 也許你是我正確的選擇,豐富的組件支持,貌似不錯(cuò)的IDE開(kāi)發(fā)支持,但是批評(píng)聲如雷貫耳,讓我怎么能選擇你,讓我怎么能與你一樣聲名狼藉?
Velocity: 有FreeMarker, 要你干什么?
FreeMarker: 有PHP/Python, 為什么還用FreeMarker?
SpringMVC/Turbine/Cocoon/Echo......
我不得不誠(chéng)然我甚至沒(méi)有深入其中的幾個(gè)框架,但是對(duì)java的web 框架的道聽(tīng)途說(shuō),已足以讓我心寒。
萬(wàn)花叢中過(guò),終只能采花一朵,是魚(yú)和熊掌的選擇,還是青菜和蘿卜的無(wú)奈?
如果是企業(yè)級(jí)系統(tǒng)開(kāi)發(fā),略微迂回的即便冗長(zhǎng)的解決方案的框架:Jsf或者Struts2是我一個(gè)妥協(xié)的選擇,理由有二:
1. 社區(qū)大
2. 組件豐富
如果面對(duì)的Internet應(yīng)用,對(duì)不起java,離開(kāi)你我迫不得已。我選擇:Ruby On Rails/CakePhp,理由:
1. XP
2. Simple
于是突然懷念起同??蜅@锖?jiǎn)單粗糙的生活,李大嘴總能二錢碎銀興奮一陣子......
明天就是中秋之夜,我希望大家也能想佟湘玉一樣在這個(gè)中秋之夜買壺酒,兩塊月餅,爬上屋頂,看看美麗的嫦娥,緬懷一下遠(yuǎn)去的純真時(shí)代。

