• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            woaidongmao

            文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數據加載中……

            為什么主流Java MVC框架如此難以使用

            使用J2EE Web開發已經好幾年了,從JSP、Struts、WebWork到現在的Struts 2、Wicket,沒有一個用起來簡單順手的。

            無論哪個框架吹噓自己有多么簡單和高效的生產力,甚至讓一個從未接觸過Web開發的人5分鐘能上手,絕對是騙人的。照著教程做一個Hello World還可以,一旦網站規模一大,根本無法維護。

            再深入挖掘一下,你會發現,其實一個MVC框架無論服務器端設計有多么差,其實也差不到哪去,有面向對象經驗的開發人員都可以寫出比較能維護的代碼,即便像Struts這種比較古老的框架,服務器端開發也不難,和WebWork2比僅僅是不方便而已。

            但是到了View這一層就五花八門了,總體來說,有以下幾路主流門派:

            1. Struts為代表的JSP + Tag派,真叫一個難用,尤其是Tag,不但要查手冊,你還必須寫出if equals ... else的邏輯來。

            2. JSF為代表的全Tag派,基本上寫一個JSP和一個XML沒啥區別,都是Tag堆出來的,甚至變態到HTML元素都給Tag了,比如<h:div>

            3. Wicket為代表的嵌入式派,可以通過<span wicket:id="message" id="message">來搞定,不破壞HTML,不過通過Filter過濾性能值得懷疑。

            無論哪種MVC框架,目的都是要簡化View的開發,然而在實際使用時卻發現,簡化了簡單的頁面,復雜頁面卻變得更復雜了,因為這些MVC框架都普遍忽視了一個基本原理:現代Web技術是建立在HTML+CSS+JavaScript基礎上的,任何試圖幫助Java開發者隱藏HTML、CSSJavaScript的努力最終都將阻礙Web開發。不會HTML,不會CSS,不會JavaScript,那就不要做Web開發,無論你多么精通Java

            正是由于這些MVC框架有意無意地讓Java開發人員遠離HTML,才造成了View開發的困難重重。尤其以JSF為代表,性能就不說了,要添加JavaScript你只能先看編譯后的HTML源碼,要修改CSSDEBUG至少N次,所有的可視化HTML編輯器都用不了。

            所以,要真正提高Web開發的生產力,尤其是頁面的可維護性,Web頁面必須由精通HTML+CSS+JavaScript的開發人員完成,服務器端技術對這些的侵入性越小,頁面越容易維護。目前我認為比較好的View框架還是VelocityFreeMarker,通過<div>${message}</div>JSP Tag強很多,結合HTML可視化編輯器(主要指Dreamwaver),調試起來非常方便,而且不用重啟服務器。至于服務器端,其實各MVC大同小異,我一直使用Spring MVC+Velocity,少集成一個框架畢竟麻煩少一些。

            gangban_lau 發表于2009625 17:10:33  IP:舉報

            在分工日益精細的今天,讓Java開發人員遠離HTML,也許體現了他們的用意。讓精通 HTML CSS JavaScript 的人員做 ViewJava 程序員在自己該做的事情。

            yufei_lgq 發表于2009625 17:53:02  IP:舉報

            任何試圖幫助Java開發者隱藏HTML、CSSJavaScript的努力最終都將阻礙Web開發。不會HTML,不會CSS,不會JavaScript,那就不要做Web開發 有同感。在使用中我一般都不使用htmltag,我覺得這些tag畫蛇添足。

            lakesea 發表于2009625 18:06:02  IP:舉報

            相當有同感,現在的web開發特別是java體系的,總是在強調新技術,框架,模式等,在開發效率等方面完全不能和傳統cs程序相比,所以我們目前在嘗試做一些類似cs的控件這是實際項目中應用的效果: http://blog.csdn.net/lakesea/archive/2009/03/17/3999514.aspx

            tsun7263 發表于2009625 20:34:31  IP:舉報

            同感,用一些tag之后,會使頁面不可控,尤其是做一些復雜界面的時候,要用很多js,用tag做相當不方便

            ruisheng_412 發表于2009625 21:59:23  IP:舉報

            樓主說的有道理!

             

            posted on 2009-06-25 22:31 肥仔 閱讀(2311) 評論(3)  編輯 收藏 引用 所屬分類: Web-后臺

            評論

            # re: 為什么主流Java MVC框架如此難以使用  回復  更多評論   

            struts2用起來跟ROR的框架比起來,前者的復雜度實在是比后者高出了好幾個臺階.配置難,使用難,維護難.
            2010-10-29 15:10 | hancock

            # re: 為什么主流Java MVC框架如此難以使用  回復  更多評論   

            java不再做view層
            全部json數據交互,丟給前端,你們看著玩唄
            2014-01-20 20:43 | 囧囧明

            # re: 為什么主流Java MVC框架如此難以使用  回復  更多評論   

            補充一下,angularJS這貨是神器@囧囧明
            2014-01-20 20:43 | 囧囧明
            97久久综合精品久久久综合| 精品国产乱码久久久久久1区2区 | 亚洲精品综合久久| 久久精品亚洲AV久久久无码| 色诱久久久久综合网ywww| 色综合久久最新中文字幕| 人人妻久久人人澡人人爽人人精品| 色欲久久久天天天综合网| 久久综合九色综合精品| 久久人人爽人人爽人人片AV高清 | 青青国产成人久久91网| 中文字幕精品无码久久久久久3D日动漫 | 久久精品www人人爽人人| 三级韩国一区久久二区综合| 久久精品亚洲一区二区三区浴池 | 久久r热这里有精品视频| 久久婷婷五月综合色奶水99啪| 亚洲午夜精品久久久久久人妖| 久久只这里是精品66| 久久se精品一区二区影院 | 内射无码专区久久亚洲| 99久久人妻无码精品系列| 99久久99久久精品国产片果冻 | 久久精品www人人爽人人| 久久精品综合网| 日韩亚洲国产综合久久久| 狠狠色婷婷综合天天久久丁香 | 久久精品国产亚洲网站| 久久久久人妻精品一区| 亚洲色欲久久久综合网东京热| 久久久久久国产a免费观看黄色大片| 久久高潮一级毛片免费| 99久久99久久精品国产片果冻| 久久99精品久久久久久久久久| 色诱久久久久综合网ywww| 亚洲AV无码久久精品成人 | 久久AAAA片一区二区| 久久性精品| 亚洲精品美女久久久久99| 久久精品国产亚洲av影院 | 一级做a爰片久久毛片毛片|