程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Java Web 框架的“甜點”

Java Web 框架的“甜點”

編輯:JAVA編程入門知識

  這是一篇很有趣的文檔,所以摘要一下,其實類似閱讀筆記,似乎是3/25發布的:
  不知怎麼翻譯Sweet Spots,難道翻譯為甜處、甜頭、蜜點、蜜穴?
  
  本文基於對以下人的采訪(最後兩位的看法獨到還是自己看吧!):
  JSF Jacob Hookom
  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)
  
  
1、你認為你的framework的"甜點"在哪裡?他最適合哪種類型的項目?
  當你希望浏覽器程序像桌面程序一樣工作的時候,你可以遵循標准並獲得大量第三方支持。它致力於降低復雜度。它答應你不與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,而且選定以後也使用這個。
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved