Java

          Java

          BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
            3 Posts :: 12 Stories :: 7 Comments :: 0 Trackbacks
          引自我的蛋殼

          現(xiàn)在java web框架非常多,林林總總,讓很多人不知道選擇那個(gè)好:JSF、Spring MVC、Stripes、Struts 2、Tapestry和Wicket,他們都是各有千秋,面對(duì)各種問(wèn)題,八仙過(guò)海,各顯神通。
          這里就小話一下他們的優(yōu)缺點(diǎn)。
           
          JSF
          優(yōu)點(diǎn):
          Java EE標(biāo)準(zhǔn),這意味著有很大的市場(chǎng)需求和更多的工作機(jī)會(huì)
          上手快速并且相對(duì)容易
          有大量可用的組件庫(kù)
          缺點(diǎn):
          大量的JSP標(biāo)簽
          對(duì)REST和安全支持不好
          沒(méi)有一個(gè)統(tǒng)一的實(shí)現(xiàn)。既有SUN的實(shí)現(xiàn),又有Apache的實(shí)現(xiàn)——MyFaces。
          國(guó)內(nèi)的OperaMasks還支持AJAX,以及有開(kāi)發(fā)工具支持

          Spring MVC
          優(yōu)點(diǎn):
          對(duì)覆蓋綁定(overriding binding)、驗(yàn)證(validation)等提供生命周期管理
          與許多表示層技術(shù)/框架無(wú)縫集成:JSP/JSTL、Tiles、Velocity、FreeMarker、Excel、XSL、PDF等
          便于測(cè)試——?dú)w功于IoC
          缺點(diǎn):
          大量的XML配置文件
          太過(guò)靈活——沒(méi)有公共的父控制器
          沒(méi)有內(nèi)置的Ajax支持

          Stripes (現(xiàn)已發(fā)布1.5版本)
          優(yōu)點(diǎn):
          不需要書寫XML配置文件
          良好的學(xué)習(xí)文檔
          社區(qū)成員很熱心
          缺點(diǎn):
          社區(qū)比較小
          不如其他的項(xiàng)目活躍
          ActionBean里面的URL是硬編碼的

          Struts 2
          優(yōu)點(diǎn):
          架構(gòu)簡(jiǎn)單——易于擴(kuò)展
          標(biāo)記庫(kù)很容易利用FreeMarker或者Velocity來(lái)定制
          基于控制器或者基于頁(yè)面的導(dǎo)航
          缺點(diǎn):
          文檔組織得很差
          對(duì)新特征過(guò)分關(guān)注
          通過(guò)Google搜索到的大多是Struts 1.x的文檔

          Tapestry
          優(yōu)點(diǎn):
          一旦學(xué)會(huì)它,將極大地提高生產(chǎn)率
          HTML模板——對(duì)頁(yè)面設(shè)計(jì)師非常有利
          每出一個(gè)新版本,都會(huì)有大量的創(chuàng)新
          缺點(diǎn):
          文檔過(guò)于概念性,不夠?qū)嵱?
          學(xué)習(xí)曲線陡峭
          發(fā)行周期長(zhǎng)——每年都有較大的升級(jí)

          Wicket
          優(yōu)點(diǎn):
          對(duì)Java開(kāi)發(fā)者有利(不是Web開(kāi)發(fā)者)
          頁(yè)面和顯示綁定緊密
          社區(qū)活躍——有來(lái)自創(chuàng)建者的支持
          缺點(diǎn):
          HTML模板和Java代碼緊挨著
          需要對(duì)OO有較好的理解
          Wicket邏輯——什么都用Java搞定


          就項(xiàng)目使用選擇而言,
          如果是穩(wěn)健起見(jiàn),structs是不錯(cuò)的選擇;
          如果小項(xiàng)目,我更請(qǐng)傾向于Stripes,夠簡(jiǎn)單、簡(jiǎn)潔。
          如果想用概念比較新的框架,可以選擇JSF、tapestry,它們都是基于組件的,重用性比較好。(當(dāng)然開(kāi)發(fā)者也要要設(shè)計(jì)得好)

          本文作者:javaread.com

          posted on 2008-08-22 08:25 keer 閱讀(144) 評(píng)論(0)  編輯  收藏 所屬分類: 旁征博引

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 五大连池市| 翁牛特旗| 南开区| 堆龙德庆县| 新兴县| 岗巴县| 年辖:市辖区| 高陵县| 兰考县| 察隅县| 根河市| 四会市| 两当县| 平泉县| 玛多县| 宣城市| 中江县| 雷州市| 边坝县| 新和县| 定兴县| 淳安县| 江都市| 天气| 怀安县| 盐津县| 和田市| 灵川县| 依兰县| 于田县| 岳阳市| 乌拉特前旗| 朝阳县| 昌都县| 武宁县| 井研县| 白河县| 定襄县| 德兴市| 胶南市| 邓州市|