這是一篇很有趣的文檔,所以摘要一下,其實類似閱讀筆記,似乎是3/25發布的:
不知怎麼翻譯Sweet Spots,難道翻譯為甜處、甜頭、蜜點、蜜穴?
本文基於對以下人的采訪(最後兩位的看法獨到還是自己看吧!):
JSF Jacob Hookom
1、你認為你的framework的"甜點"在哪裡?他最適合哪種類型的項目?
RIFE Geert Bevin
Seam Gavin King
Spring MVC Rob Harrop
Spring Web Flow Rob Harrop and Keith Donald
Stripes Tim Fennell
Struts Action 1 Don Brown
Tapestry Howard Lewis Ship
Trails Chris Nelson
WebWork Patrick Lightbody
Wicket Eelco Hillenius
JSF(Jacob Hookom)
當你希望浏覽器程序像桌面程序一樣工作的時候,你可以遵循標准並獲得大量第三方支持。它致力於降低復雜度。它答應你不與view和特定的action、參數傳遞、狀態傳遞、渲染打交道就可以進行高質量的開發,不管是否使用工具。
2、它不適合於什麼樣的場景?在這些場景你推薦什麼fremework?它是哪個?
它不適合大規模的、只讀(其實指讀為主)的網站。在這種情況推薦Struts,因為知識庫豐富(應該指文檔和用戶群)。
3、在下面提到的framework中,你試驗過他們麼?假如試驗過,你比較喜歡哪個?你不喜歡哪個?
Seam:
優點:非常簡單直接
缺點:對於大項目過於簡單;沒有模塊化開發的好例子
Struts:
優點:巨大的文檔和用戶群;跟著它沒錯
缺點:狀態/行為的分離過於教條化
WebWork:
優點:比Struts易於使用
缺點:復雜的UI難於維護,UI代碼過於復雜(JSF作者對action
Framework都攻擊這一點)
Tapestry:
優點:概念新奇;可以應付復雜的UI
缺點:對於一個組件化(JSF主要競爭對手),它依然依附於page/action的概念
4、你的framework的未來會怎樣?對於用戶開發會有什麼方便使用的變化?你會原生支持Ajax麼?你們計劃支持它了麼?
他認為JSF這個標准下這些應該有第三方提供。JSF(2.0)會提供"Partial Faces Request",它是Ajax實現。JSF也會增強annotation組建編程。
5、有對你們的framework的傳言需要澄清麼?假如有,是哪個?很多JSF書都拿Struts作為對比。他認為這不能體現JSF的特點。他認為Struts和WebWork能做到的JSF也能做到。
6、你對Ruby on Rails的看法如何?
它與WebWork一樣好用,它的CoC(Convention over Configration)和腳手架非常好用。他認為CoC可以被應用在任何framework,他認為這是RoR最大的優點。他還認為RoR會走上其它framework的路(復雜性),因為人們需要自己的擴展。
RIFE(Geert Bevin)
1、你認為你的framework的"甜點"在哪裡?他最適合哪種類型的項目?
你可以付出10%的工作量,得到其它framework的90%的......,它是一個full-stack framework(如RoR)。它吸收了成熟的分層框架的架構,並將共同的優點匯集在一起。提供了web continuation,POJO驅動的CRUD生成,可擴展的基於組建的架構,無session的狀態控制,關注REST作為API,雙向無邏輯模版引擎,集成了內容控制框架(CMS?)。每個層次的組建提供了可復用性(AOP,site,sub-site,page,widget,portlet等)。適合於團隊快速開發公共Web項目,適合喜歡開發可復用組件的人。
2、它不適合於什麼樣的場景?在這些場景你推薦什麼fremework?它是哪個?
團隊中的每個人都有其它framework的知識,難於培訓他們。開發狀態相關的服務器端Web組件,而不是用RIA或Ajax去實現。第三方支持很重要的情況下(可憐RIFE用戶群還不大)。他推薦這種情況下使用JSF。或者在XML為主要發布形式的情況下,推薦Cocoon。
3、在下面提到的framework中,你試驗過他們麼?假如試驗過,你比較喜歡哪個?你不喜歡哪個?
他試驗過WebWork,JSF,Wicket。他喜歡WebWork的簡單,但是不喜歡它的模版方式(tag的template,應該),它也不提供組件封裝。他認為JSF的工具支持非常吸引人。Wicket的純Java實現很不錯,可惜XML配置很不爽。
4、你的framework的未來會怎樣?對於用戶開發會有什麼方便使用的變化?你會原生支持Ajax麼?你們計劃支持它了麼?
關於Ajax,RIFE剛剛集成了DWR,而且選定以後也使用這個。