Seam能否取代Struts?

來源:互聯網
上載者:User

作者: 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/

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.