TSS:幫我選一個Java Web開發架構吧
最近 TheServerSide.com 上一篇文章引起了常常的讨論。位址見這裡:Chose a web client framework。
Chester Chen ([email protected])的需求很簡單:
他們公司的基本環境是:
開發環境: mix of Linux and Windows, Java, EJB (2 and 3);
部署環境: linux, Glassfish for the new project (UI only), existing projects using WebLogic Server 10.3.
他對新架構的期望是:
學習曲線不要太陡,同時足夠成熟、對Ajax有良好的支援,便于開發,對後端的資料模型沒有嚴格的限制。
目前他們考慮的架構有:wicket, Seam, and Struts2 。
我想Chester Chen大概花5分鐘寫的文章沒想到上了TSS的首頁,并且還引來了長篇讨論。
這些讨論裡,有GWT的擁泵者、有Flex的推銷員,還有些人還不厭其煩的推薦:Wicket和Stripes(a simpler, lighter, cleaner version of Struts 2) ,還有 zKoss、Lift 等等不一而足。
也有很專業的咨詢者,比如Anil Kommareddi ,列舉了以下要考慮的4點:
1、開發團隊是否完善 2、開發團隊的技術情況 3、架構開發者社群和支援 4、架構的元件是否完善
而 Daniil S 估計是個憤青,看看他的評論,每一個他看上眼的(估計是從MS那邊轉過來的):
I've spent about 3 months looking for framework. The biggest issues that came up were the learning curve, ease of installation and simplicity. Some thoughts:
* struts - skipped this one due to a lot of negative bias among friends/developers. Everyone I know has some kind of an issue with it, installation or development hurdles.
* tapestry - the learning curve was too great. Hard to find some simple example of a simple task such as login/logout. Too much restriction on correctness of HTML.
* wicket - loved it, but installation process was a bit hard and required a lot of customizations on IDE part. HTML pages were in a weird directories and our HTML guy got confused.
* spring - learning curve is too steep.
做Java的開發員大概都有一個很深的體會,付出多收獲才能更多。看看 Pablo Krause 的豪華陣容吧:
ExtJS: for a Rich Internet Application front end
DWR: Direct Web Remoting, for communicating with Java backend.
Acegi: For security stuff (now part of Spring)
Hibernate: For Object Relational Mapping
Spring: For gluing it all together.
如果你對 Stripes 不了解(我現在也不了解),可以看看這篇文章:Stripes ...and Java Web Development is Fun Again 。
其他的一些資源:
主站:http://www.stripesframework.org
快速入門:http://www.stripesbook.com/blog/index.php?/archives/19-Stripes-Quickstart.html
插件: http://www.stripes-stuff.org
Mail List :http://news.gmane.org/gmane.comp.java.stripes.user
在你眼花缭亂之前,拿 Web Frameworks of the Future: Flex, GWT, Grails and Rails 作為結尾吧。
(這篇文章很早就翻譯(我這好像不是翻譯)了,今天貼出來。新的csdn編輯器也不順手。)