自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

永別了,Java的“小蘋果”!

開發(fā) 開發(fā)工具
1995年, Java之父James Gosling和Sun公司科學辦公室主任John Gage一起前往蒙特利,去參加一個TED會議,兩人要在那里展示一個劃時代的技術, 號稱向能把枯燥的靜態(tài)網(wǎng)頁變得栩栩如生,美輪美奐。

[[283769]]

1995年, Java之父James Gosling和Sun公司科學辦公室主任John Gage一起前往蒙特利,去參加一個TED會議,兩人要在那里展示一個劃時代的技術, 號稱向能把枯燥的靜態(tài)網(wǎng)頁變得栩栩如生,美輪美奐。

不知道James Gosling當時的心情如何,是忐忑不安?還是滿懷信心?在C++統(tǒng)治的年代中,Java要殺出一條血路來,一定要一炮打響。

演示開始了,James Gosling 把鼠標指向了瀏覽器中的一個3D分子模型,來回地旋轉它,臺下的觀眾發(fā)出陣陣驚嘆聲,他們被鎮(zhèn)住了,從沒有人想到在瀏覽器中也能實現(xiàn)這么“美輪美奐”的效果 !

 

(注:這是后來用Applet Viewer看到的效果)

Java 火了!

這個演示所使用的技術就是Applet。

1

我對Applet懷著特殊的感情,因為我學會了Java的Hello World之后,第一個項目使用的就是Applet技術。

我有個同事覺得Applet這個單詞怪怪的,總是把它叫做“小蘋果” :你的“小蘋果”開發(fā)得怎么樣了?

實際上,人家Sun這么起名的意思是:Application + let, 還有Servlet,指的是Server + let。

這讓我印象十分深刻,后來大江南北都在流行神曲“小蘋果”的時候, 總是讓我聯(lián)想到Applet。

我在C/S架構下做過一點桌面GUI程序的開發(fā),后來轉到B/S架構,發(fā)現(xiàn)當時的HTML頁面實在是太簡陋了,但是B/S結構又有一個天生的優(yōu)勢:應用無需分發(fā)安裝,只有有個瀏覽器就夠了。

這時候,我就接觸了Applet,不由眼前一亮:無需安裝就可以在網(wǎng)頁運行,又能展示出桌面GUI的效果,相當于結合了C/S 和 B/S的優(yōu)勢, 這簡直是太酷了。

可是這么酷的技術怎么就沒火起來呢?

稍微深入開發(fā)就會發(fā)現(xiàn),Applet在當時的環(huán)境下有幾個致命傷:

1. 用AWT/Swing寫的界面丑陋

Applet的GUI界面需要用Java AWT以及后來的Swing來編寫,這兩個技術確實不怎么樣,寫出的GUI很丑陋,沒有本地應用程序的感覺。

2. 運行速度太慢

上世紀90年代的PC還非常弱,CPU弱,內存更弱,有個32MB的內存都很不錯了。Java剛開始也是弱雞,直到JDK 1.2才有 JIT技術, 在此之前單機獨立運行Java都很慢,一直被C++所嘲笑。更不用說在瀏覽器中用插件的方式來運行了!

3. 網(wǎng)速也太慢

撥號上網(wǎng)的時代,網(wǎng)速只有56K bit/s , 一個Applet程序稍微大點兒就得等半天,等待得時候,確實顯示一個極其難看的大白板:

 

如果Applet需要一個特定版本的JRE, 需要從網(wǎng)絡下載,那估計需要一個多小時才能下載下來。

還有一些安全問題, 總之,Applet是一個看起來很美的方案,但也是一個重型解決方案,還是一個封閉的解決方案,由Sun一家來控制,這對于開放的互聯(lián)網(wǎng)來說是不能容忍的。

后來的事情大家都知道了,AJAX搶班奪權,徹底統(tǒng)治瀏覽器,前端界面使用HTML+CSS+JavaScript可以做得美輪美奐,比桌面應用都漂亮,Applet的優(yōu)勢消失殆盡,只剩下一些遺留系統(tǒng)在使用了。

2

隨之時間的推移,各大瀏覽器開始嫌棄Applet,不再支持。

然后連JDK也不要它了, 從JDK9 開始,Applet 已經(jīng)被聲明為“廢棄”的了, 從JDK 11開始,瀏覽器的Java插件也從JDK中刪除了。如果還想在生產(chǎn)環(huán)境中使用Applet,只能從Oracle 那里繼續(xù)購買JDK 8 的訂閱和更新服務了。

Applet這個讓Java大火的技術徹底死了。

技術的發(fā)展就是這樣,各領風騷四五年,很多看起來很酷的技術都消失在短暫的IT時代的河流中,這里邊有技術的原因,有標準的原因,有時代的原因,但有一點是肯定的:一定要走開放之路,這樣成功的可能性才會大一些。

多年以后,出現(xiàn)了一個叫做Webassembly的技術,定義了一套類似Java的字節(jié)碼, 可以用各種語言(C/C++/Rust/Java)來開發(fā),編譯以后像Applet那樣放到服務器端, 瀏覽器下載執(zhí)行,和Applet不同的是,不再需要插件了,執(zhí)行WebAssembly的程序是瀏覽器內置的能力了!

一定意義上來說,Applet 也算后繼有人吧!

【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉載請通過作者微信公眾號coderising獲取授權】

 

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2018-10-18 12:42:24

2009-05-07 09:06:58

C++BuilderBorland

2025-04-16 09:35:03

2018-11-08 12:14:51

蘋果庫克iPhone

2017-12-31 11:51:24

WP應用Windows

2017-12-04 23:00:24

Windows開發(fā)者軟件

2015-09-23 13:24:17

2019-12-04 14:37:10

MacBook蘋果Face ID

2020-11-26 06:06:11

Flash

2009-06-12 10:58:30

GroovyJavaFXJava平臺

2019-07-16 06:00:37

Windows 7Windows 10微軟

2022-12-28 07:41:28

IEEdge微軟

2012-11-30 13:29:15

2018-03-05 08:59:21

Java 開源Oracle

2011-08-15 22:51:30

摩托羅拉

2019-08-29 09:49:50

2010-01-04 09:03:29

要聞回顧新年

2015-07-31 13:38:39

FreeBSDLinux

2015-06-12 15:29:06

一個人的爆品

2017-11-23 13:17:20

AndroidWindows 10自動更新
點贊
收藏

51CTO技術棧公眾號