作者: Shashank Tiwari 翻譯: Thomas 來源: O’Reilly
作者簡介: Shashank Tiwari(又名Shanky),Saven Technologies的首席架構師。有多年從事高性能應用程序設計和開發的經驗。近年來,主要關注面向服務架構。他定期地在許多科技期刊上發表文章,并且常以開發者導師和架構師的身份出席研討會。他同時也是開源軟件的熱心支持者。現和他的妻子以及兩個兒子居住在美國紐約。
摘要: 本文分析了JBoss Seam有望取代Struts成為Java Web應用框架”下一個王者”的原因,并且指出了Spring和Google Web工具包的不足。
時至今日,Apache Struts仍舊是最受歡迎的Java Web應用框架。然而,對于新的應用開發,它顯得有些過時,并且存在很多不足。
目前已經出現了幾個有望取代Struts的框架,但是還沒有最終的勝利者。你認為誰會當之無愧地成為領導者呢?如果你是一個Java Web應用程序的開發者,你會選擇哪種框架呢?
目前已經有了很多受歡迎的Web UI技術,包括富界面、AJAX、RIA和其他一些相似的技術。
然而,在服務器端仍然只有Java——Java中有許多基于JSP和Servlets的、流行的服務器端技術。許多時候,這些服務器端技術需要和客戶端的富界面技術一起使用。
舉例來說,許多開發人員將AJAX與新生代的Java Web框架JSF合并起來一起使用;還有些開發人員通過Java遠程調用庫、開源或者商業代碼來調用JavaScript和ActionScript,用于遠程訪問服務器端。
這是否意味著,我們需要應用一個像Apache
Shale那樣,可以很好地和JSF工作的框架呢?這是否意味著,我們只需要根據Web應用中的Java部分,只使用遠程訪問包和Servlets呢?或
者意味著,我們應該使用一個包含兩者的框架,例如,JBoss Seam?
在回答這些問題之前,讓我們先關注一下另外一個問題:了解Sun究竟在說什么。
不幸的是,在這點上,Sun沒有明確的信息。它有三種戰略,并且在同一時間,它說出了全部這三種。它們是:
1. JSF——基于規范的服務器端組件,用于加強早期的Servlets和JSF模型。
2. Swing——用于Web的、以虛擬機為基礎的解決方案。在”富界面時代”,應該有這樣一個領導者,畢竟它誕生于10年前。但是,不幸的是,它落伍了。Swing應用框架被譽為能使Swing復活的”救世主”。但是,我不認為這能”破冰”。
3.
JavaFX——目前主要是在新聞上會提到它,而實際應用還是很少。富Web應用框架包含手機、網站和任何其他接口,這就是答案所在。而只有時間才能告訴
什么會變成它。我的觀點是,在做更多事情之前,Sun已經使開發者們興奮起來。所以,在開發者們感到失望并且離開這個陣營之前,它實際上可能是一個奇妙的
選擇。
現在,我們有了這些信息,但是我對Sun的方向卻產生了困惑,我們應該選擇哪種作為Web應用技術呢?
我的觀點是,Swing會敗下陣來(或許Swing技術是偉大的,但是要改變這一印象,還有大量的工作需要做);JavaFX在當前階段只是一個承諾,在很長時間內,它的真正特性不會變得明朗起來;
因此,唯一可行的選擇是JSF。當然,JSF自身有一系列的問題。但是,像Seam這樣的框架和包含ICEfaces這樣的AJAX組件,將會是一個好的選擇。
此外,使用Seam這樣的框架,你不需要依賴于JSF,并且你甚至可以使用它來遠程訪問Java服務器端的純JavaScript(例如,Dojo
工具包)或者Adobe Flex應用。JSF 2.0和JavaServlets 3.0也即將推出,兩者的推出將會對之前的版本有大大的改進。
在我們結束討論,并且有點傾向于使用Seam作為選擇的框架之前,還有兩個選擇值得考慮——Spring和Google Web工具包。
如果你已經在服務器端使用了Spring,將會發現Spring是一個偉大的選擇,項目組里的每個人都知道Spring很棒!
然而,Spring在很多方面,偏離了Java EE標準,但是我建議緊跟標準。
有趣的是,Seam可以和Spring工作在一起,并且Spring beans可以被用作Seam組件。
Google Web工具包是一個充滿想象力的工具,它通過把Java代碼轉換成JavaScript來撫慰Java開發者們。我認為它像”技術搖滾明星”一樣吸引了許多開發人員的關注。目前,它也在被大量采用。
然而,它不是一個完整的Web框架。
有趣的是,它也可以和Seam工作在一起。所以,我不認為今天還有什么能夠好過Seam?!
JBoss Seam或許不是100%的答案,也或許還沒有達到Apache Struts所達到的級別。但是,它已經在領跑了,并且毫無疑問的是,它將繼續領跑,除非有新的選擇出現。
審校:Richard
原創文章如轉載,請注明:轉載自JBoss Seam中文站
[ http://www.jbossseam.com/ ]
本文鏈接地址:http://www.jbossseam.com/2007/11/14/seam-replace-struts/