swing storm

          java桌面應(yīng)用

          導(dǎo)航

          <2007年4月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          統(tǒng)計(jì)

          常用鏈接

          留言簿(15)

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          看好JSF

                 鄙人自己搞過(guò)swing,所以對(duì)面向組件編程有點(diǎn)好感,也許帶有偏見(jiàn),(如果偏見(jiàn)有理,也是值得探討的)。
          感覺(jué)JSF就像一艘渡江的巨輪,而struts只是一個(gè)摩托艇。兩者各有其長(zhǎng)短,但是我還是想說(shuō)點(diǎn)什么,因?yàn)槲矣悬c(diǎn)偏見(jiàn)。
          1、官方標(biāo)準(zhǔn)。
                官與民的區(qū)別在哪里,在中國(guó)感受是很深的。??吹絼e人討論一個(gè)人的時(shí)候,經(jīng)常要提及他的出生和背景,我也不知道為什么會(huì)這樣,也許是封建思想遺毒吧。
          2、眾多大廠商的支持。
                奇怪的是這些廠商以前為什么沒(méi)有站的這么整齊呢?
                說(shuō)道炒作,想起了房?jī)r(jià)和股票,房子本來(lái)沒(méi)有那么貴,成本也沒(méi)有那么高,炒的人多了,它才有那么貴,看來(lái)說(shuō)假話說(shuō)的人多了,假話也會(huì)變成真話。股票的價(jià)格如果沒(méi)有人炒,它的起伏會(huì)那么大嗎?到底一只股票真實(shí)價(jià)格是多少錢,只有老天才知道,其實(shí)我覺(jué)得沒(méi)有必要去知道。
          3、眾多IDE的支持。
                JDeveloper、netbeans等,dreamweaver下面也有收費(fèi)的插件支持。看到dreamweaver下面的JSF開(kāi)發(fā)演示,我心里有一種很怪的感覺(jué),感覺(jué)jsf好像是另外一種html,一種動(dòng)態(tài)的html,我仿佛看到未來(lái)的界面設(shè)計(jì)人員的網(wǎng)頁(yè)設(shè)計(jì)工具里面的代碼都是jsf。
          4、和ajax的集成。
                ajax提供的異步操作以及局部更新的功能我覺(jué)得在某些場(chǎng)合能提高系統(tǒng)很多的效率,在b/s模式下面也許只有這種做法才可以和c/s模式下的界面操作響應(yīng)效率有的一拼。
          5、面向組件
                JSF不是面向的頁(yè)面也不是面向tag,很多人不看好它,也許是這個(gè)問(wèn)題有分歧,一直都做web,沒(méi)有做過(guò)swing的人也許體會(huì)不太深刻,也許感覺(jué)不到面向組件和面向頁(yè)面的區(qū)別,或者感覺(jué)到的區(qū)別是“又是一大堆tag,大哥,我年紀(jì)不小了,拜托你們不要再折騰了,求你們了!”。

          posted on 2007-04-24 13:27 azure 閱讀(3099) 評(píng)論(22)  編輯  收藏

          評(píng)論

          # re: 看好JSF[未登錄](méi) 2007-04-24 13:43 Leo

          你覺(jué)得用Swing開(kāi)發(fā)很舒服,很有效率么?

          至少我不這么覺(jué)得

          Swing,JSF需要更強(qiáng)大的IDE的支持  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-24 13:46 dennis

          1,2,3理由,請(qǐng)參照EJB2.x及以前版本,看JSF開(kāi)發(fā)演示,看起來(lái)很美,等你真正用了就知道什么叫苦也
            回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-24 13:53 BeanSoft

          沒(méi)有用不好的技術(shù), 只有用不好的程序員. 做 Eclipse 的人是從 C++/Small Talk 轉(zhuǎn)過(guò)來(lái)的, 但是人家有做 IDE 的核心技術(shù), 所以框架只是工具. 如果精通 Java 或者一些核心技術(shù), 相信沒(méi)什么框架是爛框架. 舉個(gè)例子, 大家都學(xué) JSP, 為啥人家能做出來(lái)這么多好用的框架, 咱不行? 這個(gè)不是語(yǔ)言或者某類庫(kù)的問(wèn)題.

          另外對(duì)于需要長(zhǎng)時(shí)間維護(hù)的項(xiàng)目, 用支持標(biāo)準(zhǔn)的組件庫(kù), 要比隨便找個(gè)框架狂跟著它升級(jí)成本低的多. 這里的例子還是 JSP, 只要支持 JSP 的標(biāo)準(zhǔn), 這些框架都能運(yùn)行. 但是如果你綁定某高手自己開(kāi)發(fā)的 Server/Client, 你還有這個(gè)自由度嗎, 例如綁定在自己公司的高人做的業(yè)務(wù)平臺(tái)上或者某高人做的開(kāi)源框架上, 然后高人走了或者改收費(fèi)了???

          JSF 是標(biāo)準(zhǔn)/規(guī)范, 沒(méi)有規(guī)定實(shí)現(xiàn), 所以 JSF 本身談不上好壞, 能說(shuō)好壞的只有實(shí)現(xiàn) JSF 標(biāo)準(zhǔn)的廠商的水平.

          呵呵, 話有點(diǎn)多, 咱不是死挺 JSF, 而是建議大家打好基礎(chǔ), 不管用什么框架, 都方便的多.

          不過(guò) JSF 和 Swing 還是有些差別的, 個(gè)人更看好將來(lái)瀏覽器直接內(nèi)置可以再網(wǎng)頁(yè)里面顯示的組件, 通過(guò)一個(gè) new Tree() 就可以調(diào)用系統(tǒng)/瀏覽器自身的樹(shù)組件, 也就是所謂 RIA.

          PS: 建議摘要方式發(fā)布再首頁(yè).  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-24 14:22 dennis

          如果精通 Java 或者一些核心技術(shù), 相信沒(méi)什么框架是爛框架
          沒(méi)有用不好的技術(shù), 只有用不好的程序員.

          ----------------------------
          這兩句話相當(dāng)牛X,大家也可以散了
            回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-24 14:29 BeanSoft

          個(gè)人的一些感受, 信不信由你. 不要在挑框架上費(fèi)太大功夫, 認(rèn)準(zhǔn)一個(gè)框架就要用熟, 精通它. 舉個(gè)例子, 我們公司用的 Struts, 遇到 bug 是自己公司改的, 現(xiàn)在基本上已經(jīng)不可能再升級(jí)或者換成另一個(gè)實(shí)現(xiàn)了(例如:struts 2), 這就是綁定一套開(kāi)源框架的代價(jià), 也因?yàn)?Struts 前后不兼容, 才造成這種局面, 做了2,3年的項(xiàng)目已經(jīng)沒(méi)法動(dòng)了, 但是每次升級(jí) Weblogic 倒是比較順利, 因?yàn)?Weblogic 支持標(biāo)準(zhǔn)(JSP,EJB都算是標(biāo)準(zhǔn)), 起碼自己兼容自己還是做的比較好. 另外就是一直說(shuō)爛的: 學(xué)好 Java 基礎(chǔ)類庫(kù).

          這些話全是自己的一些體會(huì), 隨便說(shuō)說(shuō). 當(dāng)然你要能讓大家都散了我也沒(méi)意見(jiàn), 哈哈.  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-24 14:49 dennis

          @BeanSoft
          沒(méi)別的意思,只是你那兩句話可以這樣套用:如果精通XXXX,相信XXXX;沒(méi)有XXXXX,只有XXXX。既然如此,沒(méi)有比較的必要,你們公司也沒(méi)必要升級(jí)到struts2.0,這個(gè)討論是更加的沒(méi)有必要了。另外,ejb3可并非兼容從前的版本。綁定不綁定的問(wèn)題,關(guān)鍵是你看問(wèn)題的角度。你使用EJB,使用JSF何嘗不是某種意義上的綁定?當(dāng)然,struts1.x造成的高侵入性等缺點(diǎn)已經(jīng)討論爛了。

          學(xué)好java基礎(chǔ)類庫(kù),沒(méi)錯(cuò),你應(yīng)該繼續(xù)強(qiáng)調(diào),深入學(xué)習(xí)java虛擬機(jī),學(xué)好數(shù)據(jù)結(jié)構(gòu),學(xué)好算法的等等,說(shuō)口號(hào)沒(méi)什么意義,也不用引申那么遠(yuǎn)。
            回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-24 15:10 azure

          @Leo
          swing和jsf的開(kāi)發(fā)起步確實(shí)比較麻煩,這個(gè)我是認(rèn)同的。
          我覺(jué)得要是熟練了還是比較爽的,可能熟練需要很長(zhǎng)的時(shí)間,但是熟練之后威力非同小可,某些技術(shù)上手快,但是后力不繼,就像刀和槍,刀上手快,槍可能要慢一點(diǎn),比如槍還要上子彈,還要瞄準(zhǔn)等,刀就免了,但是在戰(zhàn)場(chǎng)上大多都是提槍不是帶刀,這個(gè)就是區(qū)別。不過(guò)在某些時(shí)候也要拼刀,當(dāng)然,這需要看具體場(chǎng)合了,各有長(zhǎng)短吧。  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-24 16:11 差沙

          看了那個(gè)演示jsf注冊(cè)用戶的視頻,從IDE第一感覺(jué)看這么象asp.net呢,當(dāng)然我不了解其本質(zhì),所以可能根本不一樣。。  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-24 16:43 BeanSoft

          回復(fù) dennis:
          只是個(gè)人的一些感慨和體會(huì), 你這樣理解也沒(méi)問(wèn)題.

          回復(fù) 差沙:
          JSF 當(dāng)時(shí)就是為了和 ASP.NET 的 WebForm 競(jìng)爭(zhēng)才推出的, 雖然目前效果還不甚理想, 主要來(lái)講就是 Java 是一個(gè)分裂的世界, 大部分廠商/開(kāi)源人士都是希望把用戶綁定過(guò)去然后大賺支持費(fèi)用(如 Jive, Hibernate, JBoss, 還有 Netbeans 和 Eclipse...), 所以難聽(tīng)點(diǎn) Web 層的現(xiàn)狀就是一盤散沙, 所以程序員做開(kāi)發(fā)不得不對(duì)付一大堆框架.  回復(fù)  更多評(píng)論   

          # re: 看好JSF[未登錄](méi) 2007-04-24 21:25 roger

          我以前做過(guò)jsf,現(xiàn)在從事struts,但是我還是很懷念jsf,不知道為什么。  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-25 09:42 Welkin Hu

          JSF的競(jìng)爭(zhēng)對(duì)手是Tapstry,而不是struts。我們最后選的是Tapstry。原因很簡(jiǎn)單:夠成熟,組件夠多。頁(yè)面的復(fù)雜度其實(shí)是一個(gè)系統(tǒng)中最讓人頭痛的。只是因?yàn)槭裁炊际强梢暤?,所以很少有設(shè)計(jì)者重視它。  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-25 19:54 azure

          @BeanSoft
          你說(shuō)的RIA技術(shù)可以內(nèi)嵌網(wǎng)頁(yè),且可以 new tree()來(lái)創(chuàng)建組件,請(qǐng)問(wèn)你具體看好的哪一種呢?ajax也是一種RIA,Applet也是一種RIA,java web start也是一種RIA,flash和flex也是。你是指flex嗎?
          @Welkin Hu
          JSF與Tapstry之間不好說(shuō),個(gè)人覺(jué)得Tapstry的優(yōu)勢(shì)在于使用html和頁(yè)面導(dǎo)航簡(jiǎn)單一些,這個(gè)JSF由于IDE不夠成熟要落下風(fēng);JSF的優(yōu)勢(shì)在于scope控制要簡(jiǎn)單一些,另外JSF有錢有勢(shì)。如果兩人實(shí)力相當(dāng)?shù)牟菝駨埲?*局長(zhǎng)的兒子打架,我還是認(rèn)為**局長(zhǎng)的兒子要占上風(fēng)。  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-25 22:08 guest

          我同意leo的話,IDE才是關(guān)鍵,我沒(méi)有dreamweaver的付費(fèi)插件。同時(shí)我也很害怕,怕為了一處界面的修改而被美工追的到處跑。說(shuō)實(shí)話,除了html的tag,我痛恨其他所有tag,只是有時(shí)不得不用而已。如果拿jsf和tapestry比,我可能會(huì)更傾向與tapestry。  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-26 09:19 CowNew開(kāi)源團(tuán)隊(duì)

          無(wú)奈乎SUN對(duì)JSF的推廣不力,技術(shù)再好市場(chǎng)推廣不行也白搭。  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-26 09:51 wanglin

          看好JSF。
          但是,作為一個(gè)ui組件和事件驅(qū)動(dòng)技術(shù),我有點(diǎn)質(zhì)疑他處理事件返回值和對(duì)html操縱的能力。因?yàn)樗咽虑槎挤降椒?wù)器端了,客戶端有這么強(qiáng)大的能力么?  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-26 17:09 azure

          @guest
          dw要是沒(méi)有破解版或者盜版不知道你們還用不用dw,不知道你們還做不做項(xiàng)目。其實(shí)像JDeveloper和netbeans現(xiàn)在已經(jīng)對(duì)jsf支持的很好了,建議你試用一下。
          @wanglin
          如果使用ajax來(lái)處理事件和操縱html我覺(jué)得你的擔(dān)憂就多余了。
          現(xiàn)在不是有ajax4jsf之類的開(kāi)源項(xiàng)目么,我覺(jué)得將來(lái)基于jsf上的ajax技術(shù)肯定會(huì)流行,我可以和人打賭。
          正如很多人看到的一樣,現(xiàn)在最大的問(wèn)題還是IDE的問(wèn)題,如果IDE的開(kāi)發(fā)能夠支持到ajax標(biāo)簽,那基于jsf上的ajax技術(shù)稱霸江湖是遲早的事情,也許會(huì)結(jié)束java web領(lǐng)域戰(zhàn)亂的局面,我想很多人也會(huì)歡迎早日告別現(xiàn)在這樣的“兵荒馬亂”的日子,還有強(qiáng)大的外敵.net需要對(duì)付呢。  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-29 10:52 wanglin

          @azure
          如果客戶端技術(shù)使用ajax的話,那jsf實(shí)現(xiàn)事件的機(jī)制是不是雞肋?它帶來(lái)了多少好處?(也許你說(shuō)用java寫代碼比js容易一點(diǎn),我承認(rèn);這個(gè)事件機(jī)制的分離——服務(wù)器jsf響應(yīng)客戶端ajax處理響應(yīng)返回,你覺(jué)得學(xué)習(xí)簡(jiǎn)單么?

          還不如這樣:js處理事件請(qǐng)求,js處理事件反饋。

          jsf最大的優(yōu)點(diǎn)是組件化、可視開(kāi)發(fā),可是帶來(lái)更多的視圖混雜(tag和html混雜在一起),在某種程度上,我很欣賞html的做法,(打個(gè)比方有個(gè)模塊a)a.html負(fù)責(zé)展示結(jié)構(gòu),a.js負(fù)責(zé)a.html上的所有事件,a.css負(fù)責(zé)a.html上面所有的展示和風(fēng)格——這也是xul和xaml的做法,也是flex的做法,毫無(wú)疑問(wèn),這幾個(gè)最新技術(shù)的特征意味著將來(lái)的趨勢(shì)。

          之所以web開(kāi)發(fā)覺(jué)得不爽是因?yàn)閖s的不規(guī)范,js開(kāi)發(fā)的低效率,恐懼的兼容性——它太腳本了,他至少應(yīng)該像個(gè)語(yǔ)言才可以。

          這也是j2ee web開(kāi)發(fā)的困境:普通的web開(kāi)發(fā)j2ee絕對(duì)沒(méi)有問(wèn)題,可是碰到高交互性,就需要ajax支持才可以;可是js太不規(guī)范了。也就帶來(lái)開(kāi)發(fā)的低效率。
          于是要用一個(gè)規(guī)范一點(diǎn)的東西來(lái)代替ajax的事件響應(yīng),于是就用jsf組件。可是jsf組件最終是要在jre里面執(zhí)行,這意味我們一個(gè)事件先發(fā)到服務(wù)器,然后處理,然后返回,常常的,還需要js幫助處理——他并沒(méi)有解決js的簡(jiǎn)單問(wèn)題卻帶來(lái)了更多的復(fù)雜性。

          ps:我這里引用了xaml和flex,是為了說(shuō)明視圖、處理分離是趨勢(shì)。我并不認(rèn)為xaml和flex會(huì)代替web或者什么。。。。。聳人聽(tīng)聞的吹牛。web有他無(wú)可救藥的優(yōu)點(diǎn)(你只需要提供一個(gè)url就可以提供自己的服務(wù),而url是無(wú)形的,不需要占用用戶的任何資源)而任何所謂的c/s或者類似的c/s都需要一個(gè)圖標(biāo)(webstart可能好一點(diǎn))
          xaml,rcp適合在特別的群體里使用,受眾比較小,分眾的。  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-29 11:03 wanglin

          順便說(shuō)一下,我認(rèn)為html標(biāo)簽才是web開(kāi)發(fā)的組件的王道。jsf不可能比html開(kāi)發(fā)view更快。
          所以web開(kāi)發(fā)不要聽(tīng)到組件開(kāi)發(fā)就興奮——那是在使這個(gè)世界更混亂——好好用html,解決html事件處理的問(wèn)題(js的問(wèn)題)

          我不是在否認(rèn)tag,誠(chéng)然,比如邏輯tag、格式化tag還是非常好用的。所以我支持jstl的c和fmt  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-29 12:28 azure

          @wanglin
          學(xué)術(shù)貴在交流,謝謝你對(duì)html、js和jsf的闡述。希望有更多有經(jīng)驗(yàn)的人能提出自己的見(jiàn)解。
          我覺(jué)得ajax有個(gè)問(wèn)題是封裝比較麻煩,這個(gè)使用標(biāo)簽來(lái)做封裝之后使用起來(lái)可能
          要方便很多,ajax處理機(jī)制和jsf的事件處理可以做一個(gè)互補(bǔ),比如可以使用ajax來(lái)做驗(yàn)證和小面積刷新,使用jsf來(lái)做表單處理和頁(yè)面控制等,如果做服務(wù)器端的架構(gòu)設(shè)計(jì),使用tag做ui控制,從設(shè)計(jì)角度來(lái)看架構(gòu)會(huì)更完美一些,雖然使用起來(lái)麻煩一些,君不見(jiàn)struts流行這么多年也是有它的理由的。  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-04-30 10:30 wanglin

          謝謝你提供的swing文檔,最近在學(xué)習(xí)swing。你的兩個(gè)文檔我都下了,如果有更多的資料,不要獨(dú)享哦:-)

          我工作以來(lái)一直在從事web開(kāi)發(fā),這方面的困惑和思考比較多,說(shuō)出來(lái),偏頗的希望能得到指正,如果僥幸正確,希望能對(duì)大家有所啟發(fā)。

          一起進(jìn)步。  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-05-01 22:54 poko

          組件只是JSF一個(gè)比較平淡的優(yōu)勢(shì),通過(guò)組件和其他BEAN數(shù)據(jù)傳遞以及由容器管理的WEB狀態(tài)才是JSF的強(qiáng)項(xiàng)。自定義組件當(dāng)然也是積累代碼的好辦法。

          使用了JSF,我們只需關(guān)心流程而不用關(guān)心具體數(shù)據(jù)的顯示等情況  回復(fù)  更多評(píng)論   

          # re: 看好JSF 2007-05-14 09:06 Welkin Hu

          @azure
          我自己沒(méi)研究過(guò)JSF和Tapstry,是同產(chǎn)品組的同事研究的。他專門做了一個(gè)JSF和Tapstry的選擇驗(yàn)證。最后得出的主要結(jié)論之一就是JSF還不夠成熟,UI組件(widget)不夠多。所以我們最后選了草民。  回復(fù)  更多評(píng)論   


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 凤山市| 甘泉县| 南乐县| 八宿县| 德江县| 遵义市| 郧西县| 双城市| 南汇区| 泾源县| 北海市| 泽州县| 吴川市| 通江县| 保亭| 金乡县| 江孜县| 岐山县| 青铜峡市| 威信县| 巧家县| 新宁县| 沙洋县| 开封市| 永安市| 赞皇县| 友谊县| 响水县| 白山市| 萨迦县| 芜湖市| 白水县| 南漳县| 金塔县| 揭阳市| 苏尼特左旗| 高平市| 慈利县| 清镇市| 榆树市| 新宁县|