<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 310, comments - 6939, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    Web框架找工難易比較

    Posted on 2007-09-08 15:03 詩特林 閱讀(2643) 評論(9)  編輯  收藏 所屬分類: J2EE

    Web框架找工難易比較



    這是著名的indeed.com.公司做的數據調查分析結果.

    名位看官是否能看出Web框架的發展趨勢?JSF會發展成為最行的框架嗎?能成為真正的Java Web frameworkd?是否為目前最值得學習的流行技術?


    評論

    # re: Web框架找工難易比較  回復  更多評論   

    2007-09-08 15:20 by 山風小子
    國內和國外的行情不一樣,國外在用Java的時候,國內還在流行用delphi呢 :)

    # re: Web框架找工難易比較  回復  更多評論   

    2007-09-08 17:21 by 劉遠志
    呵呵,多人搜的一個原因是struts2難用,但又多人想用
    不過多不多人搜與找工都沒關系,對某框架的熟悉程度在你的面試得分中占比率很小

    # re: Web框架找工難易比較  回復  更多評論   

    2007-09-08 18:04 by yitong
    那JSF會在國內流行起來嗎?

    # re: Web框架找工難易比較  回復  更多評論   

    2007-09-09 07:17 by sitinspring
    —— 比較JSF、Spring MVC、Stripes、Struts 2、Tapestry和Wicket

    【譯者按】這是Matt Raible在今年6月24-27號召開的JA-SIG夏季會議上所作的主題演講,Matt從眾多方面對Java Web層框架做了一個全面、深入的比較。筆者認為這是一份及時的文檔,它對開發者如何判定一個Web層框架的好壞、如何選擇適合自己項目的框架有極大的指導作用。本文是對Matt Raible演講稿的整理歸納。
    【作者介紹】Matt Raible,開源框架AppFuse的發起者、主要開發者;《Professional JSP 2.0》、《Spring Live》等書的作者;眾多會議的演講者,MySQL User Conference, ApacheCon, ApacheCon EU等;現任Raible Designs的CEO。

    首先,Matt以自己的實踐經驗,指出了Java Web層框架——JSF、Spring MVC、Stripes、Struts 2、Tapestry和Wicket他們各自的優、缺點:
    JSF
    優點:
    Java EE標準,這意味著有很大的市場需求和更多的工作機會
    上手快速并且相對容易
    有大量可用的組件庫
    缺點:
    大量的JSP標簽
    對REST和安全支持不好
    沒有一個統一的實現。既有SUN的實現,又有Apache的實現——MyFaces。

    Spring MVC
    優點:
    對覆蓋綁定(overriding binding)、驗證(validation)等提供生命周期管理
    與許多表示層技術/框架無縫集成:JSP/JSTL、Tiles、Velocity、FreeMarker、Excel、XSL、PDF等
    便于測試——歸功于IoC
    缺點:
    大量的XML配置文件
    太過靈活——沒有公共的父控制器
    沒有內置的Ajax支持

    Stripes
    優點:
    不需要書寫XML配置文件
    良好的學習文檔
    社區成員很熱心
    缺點:
    社區比較小
    不如其他的項目活躍
    ActionBean里面的URL是硬編碼的

    Struts 2
    優點:
    架構簡單——易于擴展
    標記庫很容易利用FreeMarker或者Velocity來定制
    基于控制器或者基于頁面的導航
    缺點:
    文檔組織得很差
    對新特征過分關注
    通過Google搜索到的大多是Struts 1.x的文檔

    Tapestry
    優點:
    一旦學會它,將極大地提高生產率
    HTML模板——對頁面設計師非常有利
    每出一個新版本,都會有大量的創新
    缺點:
    文檔過于概念性,不夠實用
    學習曲線陡峭
    發行周期長——每年都有較大的升級

    Wicket
    優點:
    對Java開發者有利(不是Web開發者)
    頁面和顯示綁定緊密
    社區活躍——有來自創建者的支持
    缺點:
    HTML模板和Java代碼緊挨著
    需要對OO有較好的理解
    Wicket邏輯——什么都用Java搞定

    接著,Matt通過采訪這些框架的作者,與他們討論各種開源的Java Web框架,并且突出各個框架的長處、聽取框架作者對其他框架的看法,希望借此了解這些框架的未來發展方向。

    下列是一些被采訪者:
    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 1, Don Brown
    Tapestry, Howard Lewis Ship
    Trails, Chris Nelson
    Struts 2, Patrick Lightbody
    Wicket, Eelco Hillenius

    Matt對采訪做了如下總結:
    JSF:
    如果你想讓web應用具有類似桌面程序的功能性,那么JSF的標準規范和大量第三方組件庫的支持值得你 信賴。
    Spring MVC:
    綜合了許多不同的技術,這使得它可以被廣泛地應用到不同類型的項目中去;它可以被當作web應用開發的一個基礎平臺。
    Stripes:
    可以被應用到存在大量復雜數據交互的程序中;有強大的類型轉換、綁定和驗證功能;可以使管理大的復雜表單以及直接映射它們到域對象變得簡單……
    Tapestry:
    在中到大型項目中,表現突出(當然,你也可以只把它應用到單個頁面上),在這些項目中,你可以通過簡單地創建新的組件起到杠桿作用。
    Struts 2:
    通常更適合于那些希望可以真正開始做事并且愿意花費大量時間來學習他們使用的開源工具的小項目組。Struts 2的目標不是那些更喜歡拖放式開發的“扶手椅程序員”。
    Wicket:
    非常適合于這樣的內/外部網應用:UI很復雜并且你希望可以充分利用你的開發者資源。

    上面的總結,基本是突出了各個框架的長處。然而,哪些又是他們不好的地方呢?
    Matt提出了評價一個框架好壞與否的標準:
    Ajax支持
    是不是內置了?是否便于使用?
    書簽能力
    用戶能否將某個頁面收藏起來并且可以方便地返回到該頁面?
    驗證
    使用是否簡單?是否支持客戶端(JavaScript)驗證?
    可測試性
    脫離容器測試控制器,是否足夠簡單?
    提交和重定向
    框架如何處理重復提交問題?
    國際化
    如何支持國際化?控制器利用國際化信息,是否容易?
    頁面修飾
    框架支持哪種類型的頁面修飾/組成機制?
    社區和技術支持
    提出問題,能否被快速地、恭敬地回答?
    開發工具
    是否有支持這個框架的好的工具,尤其是IDE?
    市場需求
    學習了這個框架,它能否幫你找到份工作?
    崗位數量
    在dice.com和indeed.com上,對這個框架技能的需求如何?

    筆者認為這個評價標準,值得大家借鑒。

    然后,Matt按照這些評價標準,對各個框架做了以下闡述:
    Ajax支持
    JSF:沒有內置的Ajax支持,需要使用ICEfaces和Ajax4JSF
    Stripes:沒有對應的類庫,支持流輸出
    Struts 2:內置Dojo,有用于GWT和JSON的插件
    Spring MVC:沒有對應的類庫,需要使用DWR和Spring MVC擴展
    Tapestry:Tapestry 4.1中,有內置的Dojo
    Wicket:有Dojo和Script.aculo.us支持

    書簽能力
    JSF:可以任意提交——URL甚至不被考慮
    Stripes:使用約定,但是你可以不加理會
    Struts 2:有命名空間的概念,這使得收藏某個頁面并返回變得容易
    Spring MVC:允許完全的URL控制
    Tapestry:依然存在一些丑陋的URL
    Wicket:允許裝配(mount)頁面/URL

    驗證
    JSF:默認的國際化信息丑陋,但是配置簡單
    Stripes和Wicket:用Java類進行驗證——不支持客戶端驗證
    Struts 2:使用OGNL完成強大的表達式驗證功能;只有在Action上指定了規則,才支持客戶端驗證。
    Spring MVC:允許你使用公共驗證器——這是一種成熟的解決方案
    Tapestry:有健壯的驗證功能——不需自定義就有漂亮的國際化信息

    可測試性
    Spring MVC和Struts 2:允許利用mocks(例如EasyMock、jMock和Spring Mocks)簡單地進行測試
    Tapestry:測試困難,因為頁面類被抽象、具體類被簡化
    JSF:頁面類可以方便地被測試,實際上很像Struts 2 中的actions
    Wicket:有WicketTester——一個強大的解決方案
    Stripes:有Servlet API Mocks和MockRoundtrip

    提交和重定向
    解決重復提交問題的最簡單方法是:在提交后重定向
    Spring MVC:允許你將參數加到重定向URL上
    Stripes、Tapestry和Wicket:有“flash式”的支持
    Struts 2:需要一個自定義的解決方案
    JSF:需要一個自定義的解決方案,國際化信息很難加入到頁面bean中

    國際化
    JSTL的<fmt:message>標簽使國際化變得簡單;如何將國際化信息放到控制器類中,還沒有一個統一的標準。
    Stripes、Spring MVC和JSF:每個地區使用一個資源綁定文件
    Struts 2、Tapestry和Wicket:提倡把每個頁面/action用到的資源文件分開
    JSF:需要在每個頁面上定義資源綁定信息
    Tapestry:<span key="key.name">標簽比較可怕

    頁面修飾
    Tiles能夠用于Struts 2、Spring MVC和JSF中;需要對每個頁面進行配置。
    SiteMesh能夠用于所有的這些框架中(不推薦在JSF、Tapestry或者Wicket中使用);在設置完成后, 只需要很少的維護。

    開發工具
    Spring MVC:Spring IDE,但是只做XML校驗,不是一個UI/web工具
    Struts 2:Eclipse
    Tapestry:Spindle,對編碼者非常有利
    JSF:眾多IDE支持,并且做得越來越好
    Stripes和Wicket:沒有任何官方工具
    NetBeans目前支持Struts *、JSF(+Facelets)、Tapestry和Wicket,尚不支持Stripes和Spring MVC


    市場需求
    Struts 1:需求依然很大并且被廣泛使用
    Spring MVC:越來越受關注,但大部分是因為Spring框架的一些其他特征
    JSF:很快地變得流行起來
    Struts 2:正在獲得地盤,但是相關的工作機會很少
    Tapestry:在過去的數年里,受歡迎程度不斷增加
    Wicket和Stripes:還是未知數

    通過以上的比較,我想大家對在自己的項目中應該選擇哪種Web層框架,應該有了更清醒的認識。

    最后,Matt列出了一些相關資源,也供讀者參考。
    Struts - http://struts.apache.org
    StrutsTestCase: http://strutstestcase.sf.net
    Spring MVC - http://www.springframework.org
    Spring IDE: http://www.springide.org
    Gaijin Studio: http://gaijin-studio.sf.net
    Struts 2 - http://opensymphony.org/webwork
    Eclipse Plugin: http://sf.net/projects/eclipsework
    ?IDEA Plugin: http://wiki.opensymphony.com/display/WW/IDEA+Plugin
    Tapestry - http://tapestry.apache.org
    http://spindle.sourceforge.net
    JSF - http://java.sun.com/j2ee/javaserverfaces and http://myfaces.apache.org
    Java Studio Creator: http://sun.com/software/products/jscreator
    MyEclipse: http://myeclipseide.com
    IDEA: http://www.jetbrains.com/idea
    SiteMesh: http://opensymphony.com/sitemesh
    Testing Frameworks
    JUnit: http://junit.org
    EasyMock: http://easymock.org
    jMock: http://jmock.org
    jWebUnit: http://jwebunit.sourceforge.net
    Canoo WebTest: http://webtest.canoo.com
    Tapestry Test Assist: http://howardlewisship.com/blog/2004/05/tapestry-test-assist.html
    AppFuse - http://appfuse.org

    演講的最后,Matt以一句“If it works, use it!”作為結尾,可謂精辟!

    通過此文,相信大家可以撥開當前Java Web層框架選用上的“迷霧”,見得“月明”了。
    原演講稿請參見:http://raibledesigns.com/rd/entry/ja_sig_comparing_java_web





    # re: Web框架找工難易比較  回復  更多評論   

    2007-09-09 12:48 by BeanSoft
    JSF..... 國內似乎總是慢一些, 呵呵. JSF 是個標準, 就跟 Servlet 一樣, 開發后你可以選擇眾多廠商的 Servet 實現, 從最基本的 Tomcat 到高端的帶控制臺的商業服務器都有. 其它的框架, 很抱歉你只能有一個提供商, if it sucks, what you can do now? 當然有時候這不是問題. 開源有時候只是個口號而已, 對于用戶而言很少有能力去真的理解和修改底層框架的源碼.

    # re: Web框架找工難易比較  回復  更多評論   

    2007-09-09 12:56 by Thomas
    Java Web層框架比較(圖表)
    http://www.tkk7.com/qixiangnj/archive/2007/08/23/138727.html

    # re: Web框架找工難易比較  回復  更多評論   

    2007-09-10 09:29 by Robin's Java World
    怎麼圖上不見struts1呀?

    # re: Web框架找工難易比較  回復  更多評論   

    2007-09-10 15:13 by 幽子
    框架太多,簡直是java業者的噩夢

    # re: Web框架找工難易比較  回復  更多評論   

    2007-09-27 14:30 by leekiang
    最好用的還是struts1.2
    別在框架上浪費時間了
    主站蜘蛛池模板: 国产l精品国产亚洲区在线观看| 色片在线免费观看| www国产亚洲精品久久久日本| 亚洲人6666成人观看| 一个人免费观看在线视频www| 亚洲精品国产手机| 最新欧洲大片免费在线 | 亚洲国产韩国一区二区| 99精品视频免费在线观看| 亚洲三级电影网址| 国产成人免费在线| 亚洲日韩精品A∨片无码加勒比| 成年午夜视频免费观看视频| 亚洲欧美一区二区三区日产| 免费高清在线影片一区| 免费无遮挡无码视频在线观看 | 亚洲日韩中文在线精品第一| XXX2高清在线观看免费视频| 久久久久亚洲Av片无码v| 曰批视频免费40分钟试看天天| 亚洲第一页在线视频| 在线免费不卡视频| 日韩在线视频免费| 亚洲福利在线视频| 无码一区二区三区免费视频| 国产亚洲精品欧洲在线观看| 亚洲精品国产精品乱码视色| 18pao国产成视频永久免费| 亚洲欧美熟妇综合久久久久| 国产AV无码专区亚洲AV漫画| 日本在线看片免费人成视频1000| 亚洲国产成人久久三区| 国产成人免费片在线视频观看| 91国内免费在线视频| 亚洲伊人精品综合在合线| 国产日韩精品无码区免费专区国产 | 亚洲熟妇AV一区二区三区宅男| 国产精品久免费的黄网站 | 黄色毛片免费在线观看| 好看的亚洲黄色经典| 亚洲人成网站免费播放|