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)有可能時(shí),我更喜歡在每個地方都使用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時(shí)。
Dev mgr:那可能是對的,但這種選擇不僅僅是基于簡易地創(chuàng)建UI。
John:哦?那是什么呢?
Dev mgr:每個客戶端瀏覽器中都有Flash。我們不必再安裝一個運(yùn)行時(shí)程序了。
John:Java也將會那樣,不是嗎?大部分的PC制造商都包含它了。
Dev mgr:也許,但我們知道Flash肯定是那樣的。Flash遍及網(wǎng)絡(luò),而且很可能客戶已經(jīng)有了Flash的運(yùn)行時(shí)程序。如里沒有的話,下載與安裝這個運(yùn)行時(shí)程序也是很快、很容易的。
John:是的,但Java也將易于安裝。
Dev mgr:但是Java會花費(fèi)很長的安裝時(shí)間。它太大了。
John:我不知道現(xiàn)在是否還是那樣。為了使運(yùn)行時(shí)程序更小也更加的模塊化,已經(jīng)做了很多工作。所以你僅需要下載你所需要的部分。
Dev mgr:我們所需要的就是非常、非常的簡單。一個非常簡單的UI,它有著非常簡單的功能去中轉(zhuǎn)聊天文本。Flash可以做得很好。
交談繼續(xù)著,但我不想弄得太長。可能Flash做小應(yīng)用時(shí)會比Java做的更好?在Sun工作了如此長的時(shí)間,我就很自然地想像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?