John Jiang

          a cup of Java, cheers!
          https://github.com/johnshajiang/blog

             :: 首頁 ::  :: 聯(lián)系 :: 聚合  :: 管理 ::
            131 隨筆 :: 1 文章 :: 530 評論 :: 0 Trackbacks
          Java Applet不適用于這樣的應(yīng)用?
              在基于瀏覽器的應(yīng)用中,為何Flash大大流行于Java Applet?Java Applet是否真的不適用于這樣的應(yīng)用場景?John O'Conner有話要說...(2008.03.29最后更新)

              我已正與一個公司一起創(chuàng)建一個聊天系統(tǒng),以幫助該公司能夠在線地銷售出它們更多的產(chǎn)品。后端全是Java,還有Spring,Servlet,...都是些好東西。前端是...好吧,是Flash。
              當(dāng)有可能時,我更喜歡在每個地方都使用Java,故我就這個面向客戶的應(yīng)用--一個真實(shí)的聊天客戶端程序選擇使用Flash而提出了一些問題。這個談話進(jìn)行起來就像這樣:
              John:哇,這個產(chǎn)品在每處都使用了Java,但前端除外,而這正是客戶與之實(shí)際交互的地方。為什么在那兒選擇Flash?
              Dev mgr:是的,F(xiàn)lash很容易。使用這樣一個簡單的UI也是很容易的。
              John:我明白,但使用Java也可十分簡單地做出這個聊天UI。現(xiàn)在,Swing的布局管理器已很容易使用,特別是當(dāng)你使用像NetBeans這樣的IED來布局UI時。
              Dev mgr:那可能是對的,但這種選擇不僅僅是基于簡易地創(chuàng)建UI。
              John:哦?那是什么呢?
              Dev mgr:每個客戶端瀏覽器中都有Flash。我們不必再安裝一個運(yùn)行時程序了。
              John:Java也將會那樣,不是嗎?大部分的PC制造商都包含它了。
              Dev mgr:也許,但我們知道Flash肯定是那樣的。Flash遍及網(wǎng)絡(luò),而且很可能客戶已經(jīng)有了Flash的運(yùn)行時程序。如里沒有的話,下載與安裝這個運(yùn)行時程序也是很快、很容易的。
              John:是的,但Java也將易于安裝。
              Dev mgr:但是Java會花費(fèi)很長的安裝時間。它太大了。
              John:我不知道現(xiàn)在是否還是那樣。為了使運(yùn)行時程序更小也更加的模塊化,已經(jīng)做了很多工作。所以你僅需要下載你所需要的部分。
              Dev mgr:我們所需要的就是非常、非常的簡單。一個非常簡單的UI,它有著非常簡單的功能去中轉(zhuǎn)聊天文本。Flash可以做得很好。
              交談繼續(xù)著,但我不想弄得太長。可能Flash做小應(yīng)用時會比Java做的更好?在Sun工作了如此長的時間,我就很自然地想像Java無處不在,而且其它的每個人也都喜歡它。我一直都能把事情做好...但很顯然,不是每個人都能做到。下載文件的大小從未煩擾過我...但它確實(shí)煩擾到了其它的一些人。
              另外,我發(fā)現(xiàn)感覺與現(xiàn)實(shí)一樣重要。所以,如果Java現(xiàn)在更快,更輕巧,而且在瀏覽器中工作得極好,那將會怎樣呢?不知何故,這還是沒有用。舊有的感覺仍就在那兒--Java很慢,很大,而且很難在瀏覽器中工作。更令人驚訝的是,你會發(fā)現(xiàn)有些人在那種情況下就再也不把Java當(dāng)作他們的解決方案了。
              我聯(lián)系了一些朋友,他們一起搭建面向客戶的網(wǎng)站。他們也是使用Flash。那么Java呢?當(dāng)然...都是在后端的業(yè)務(wù)邏輯中。那么對于客戶將會使用到的應(yīng)用呢?如果這些應(yīng)用是嵌入到瀏覽器中的,它們就會使用Flash。哇!
              這樣,你如何對待這種感覺呢?Java需要做些什么以反擊這些舊有的感覺?為什么Flash在基于瀏覽器的應(yīng)用中更為流行?我們?nèi)绾尾拍苁鼓切?yīng)用轉(zhuǎn)而使用Java?

          posted on 2008-02-26 14:07 John Jiang 閱讀(2447) 評論(9)  編輯  收藏 所屬分類: Java翻譯AppletGUI

          評論

          # re: Java Applet不適用于這樣的應(yīng)用?(譯) 2008-02-26 16:29 楊一
          Because Flash never wished to be the server side application and Java never be treated as first-class middle ware by the OS that the vast majority use.   回復(fù)  更多評論
            

          # re: Java Applet不適用于這樣的應(yīng)用?(譯) 2008-02-26 17:43 Sha Jiang
          由于目前我在從事Swing的開發(fā)(部署利用Applet),在java.net上看到John的這篇文章,確實(shí)有些共鳴,故翻譯在了此處。
          在上述"談話"中所涉及的問題主要是:[1]Swing構(gòu)建UI是否簡易?[2]Java的性能是否高?[3]系統(tǒng)是否默認(rèn)安裝JRE?[4]JRE是否很大?[5]JRE的安裝是否方便?

          對于問題[1],無論根據(jù)現(xiàn)實(shí)世界中的實(shí)際項目,還是根據(jù)我個人來親身體驗(yàn),使用Swing進(jìn)行UI開發(fā)是不難的。如"談話"中所提到的,可能布局管理器算是有些復(fù)雜,但在實(shí)際中可以規(guī)避一些復(fù)雜性。而且大多數(shù)應(yīng)用不會產(chǎn)生嚴(yán)重的復(fù)雜性。

          對于問題[2],這是一個歷史很"悠久"的問題,也似乎是制約Java在桌面領(lǐng)域發(fā)展的主要原因之一。我雖然是Java陣營的忠實(shí)成員,但也不愿盲目地跟隨Java guru們以十分肯定的口吻說"Java性能一點(diǎn)都不比傳統(tǒng)的編譯型語言慢,在某些方面甚至更高"。但根據(jù)自己親身經(jīng)歷來看,Java桌面程序的性能應(yīng)該是"足夠"高的。肯定不需要較長的啟動或響應(yīng)時間。

          對于問題[3]、[4]和[5],都與JRE有關(guān)。必須承認(rèn)的是,即有的JRE確實(shí)很大,約有十?dāng)?shù)兆之巨。官方也已經(jīng)注意到了這個問題,所以即將正式發(fā)布Java SE 6 Update N(原稱Consumer JRE)。這個新的JRE,很小,高度模塊化,解決了Java Applet瀏覽器插件之前的一些長期性問題。
          其實(shí)在所有的提到的問題中,我個人認(rèn)為"系統(tǒng)是否默認(rèn)安裝JRE"最為關(guān)鍵。Flash能夠長足發(fā)展,與主流系統(tǒng)/瀏覽器默認(rèn)就支持它是密不可分的。
          如果絕大多數(shù)系統(tǒng)都已經(jīng)默認(rèn)安裝了JRE,那么又有多少人會關(guān)心它"文件太大,安裝太慢,安裝不方便"之類的問題呢。就好像沒人關(guān)心IE的"安裝文件會有多大,安裝會花費(fèi)多少時間,安裝時是否方便"這類問題一樣。
          如果用戶要使用一個基于Java的UI軟件,發(fā)現(xiàn)要先下載、安裝JRE,這確實(shí)很麻煩。無論這個過程有多快捷,都是在阻礙用戶使用這個UI軟件。
          但平心而論,與安裝眾多的客戶端軟件(如,QQ)相比,安裝JRE的過程其實(shí)算不了什么。而且可以只安裝一次。  回復(fù)  更多評論
            

          # re: Java Applet不適用于這樣的應(yīng)用?(譯) 2008-02-27 16:26 蘄春人
          謝謝你的文章  回復(fù)  更多評論
            

          # re: Java Applet不適用于這樣的應(yīng)用?(譯) 2008-02-29 20:19 Java.net
          個人比較看好Applet...首先jre的問題目前已經(jīng)得到sun的關(guān)注,并且有了即將發(fā)布的消費(fèi)版jre..這樣就解決了客戶端下載的問題,應(yīng)該會控制在4M以內(nèi).IE等主流瀏覽器預(yù)裝的可能性不太大,但至少企業(yè)級的應(yīng)用會大量使用起applet..畢竟是大多企業(yè)應(yīng)用都是通過局域網(wǎng)在跑...  回復(fù)  更多評論
            

          # re: Java Applet不適用于這樣的應(yīng)用?(譯) 2008-02-29 22:16 Sha Jiang
          > 但至少企業(yè)級的應(yīng)用會大量使用起applet..畢竟是大多企業(yè)應(yīng)用都是通過局域網(wǎng)在跑...
          對此吾不敢茍同 :-D
          許多大型國際金融機(jī)構(gòu)使用的客戶端軟件就是基于Applet并應(yīng)用于Internet。  回復(fù)  更多評論
            

          # re: Java Applet不適用于這樣的應(yīng)用?(譯)[未登錄] 2008-04-15 09:37 javapon
          好,關(guān)于Applet在客戶端運(yùn)行時,如果沒有jre會下載安裝jre的問題,以下的這段代碼能夠?qū)崿F(xiàn)如果沒有jre1.5.0_09則會下載安裝:

          <object classid = "clsid:CAFEEFAC-0015-0000-0009-ABCDEFFEDCBA"
          codebase = "http://java.sun.com/update/1.5.0/jinstall-1_5_0_09-windows-i586.cab#Version=5,0,90,3"
          WIDTH = "500" HEIGHT = "400" >
          <PARAM NAME = CODE VALUE = "HelloWorld" >
          <param name = "type" value = "application/x-java-applet;jpi-version=1.5.0_09">
          <param name = "scriptable" value = "false">
          <comment>
          <embed type = "application/x-java-applet;jpi-version=1.5.0_09"
          CODE = "HelloWorld"
          WIDTH = "500" HEIGHT = "400"
          scriptable = false
          pluginspage ="http://java.sun.com/products/plugin/index.html#download">
          <noembed> </noembed>
          </embed>
          </comment>
          </object>


          /////////////////////////////////////////////////////////////////////////
          可這安裝的過程是要人工參與的,就像你提到的問題:([3]系統(tǒng)是否默認(rèn)安裝JRE?[5]JRE的安裝是否方便?)。這安裝的過程并不是很方便,因?yàn)橐斯⑴c,并不是默認(rèn)在后臺自動安裝那種,如果是學(xué)過java的人會知道是怎么回事,并能安裝成功,可是你的程序如果拿給客戶使用,他們不一定會JAVA,這下載安裝的過程可能會讓他們不知道該怎么辦,他們會很害怕~~~,
          能不能有什么辦法,讓這安裝的過程不需要人工參與,能讓它在后臺自動默認(rèn)安裝啊?  回復(fù)  更多評論
            

          # re: Java Applet不適用于這樣的應(yīng)用?(譯)[未登錄] 2008-04-15 09:48 javapon
          @java.net
          他所提到的消費(fèi)版jre,大概是什么東東啊?免安裝的那種嗎?現(xiàn)在發(fā)布沒?  回復(fù)  更多評論
            

          # re: Java Applet不適用于這樣的應(yīng)用?(譯) 2008-04-15 11:03 Sha Jiang
          > 能不能有什么辦法,讓這安裝的過程不需要人工參與,能讓它在后臺自動默認(rèn)安裝啊?
          不可能完全不讓用戶手動安裝任何東西。
          Java SE 6 Update N(原稱Consumer JRE)可以自動檢測并安裝應(yīng)用程序所需要的文件。
          但前提是,用戶要先手工安裝Java SE 6 Update N。

          > 他所提到的消費(fèi)版jre,大概是什么東東啊?免安裝的那種嗎?現(xiàn)在發(fā)布沒?
          可以關(guān)注一下JDK 6在java.net中的站點(diǎn),
          https://jdk6.dev.java.net/
          https://jdk6.dev.java.net/6u10ea.html
          尚未正式發(fā)布。  回復(fù)  更多評論
            

          # re: Java Applet不適用于這樣的應(yīng)用?(譯)[未登錄] 2008-04-16 16:04 j2ee
          >Sha Jiang
          或>javapon

          Java web start設(shè)置自動下載JRE的代碼知道嗎?(沒有的話自動下載--本地的JRE或官方網(wǎng)上的JRE都可以)  回復(fù)  更多評論
            

          主站蜘蛛池模板: 修武县| 林芝县| 富源县| 徐州市| 丰镇市| 凤山市| 工布江达县| 池州市| 佛冈县| 诸暨市| 常德市| 霍城县| 岳阳县| 临清市| 治多县| 新闻| 林甸县| 蛟河市| 石台县| 彩票| 拜泉县| 凌海市| 武清区| 安泽县| 武邑县| 平罗县| 宾阳县| 灌阳县| 沁水县| 宁武县| 桂东县| 福清市| 札达县| 永和县| 应城市| 宁城县| 启东市| 长沙市| 凭祥市| 和硕县| 双辽市|