在計(jì)算中,applet是執(zhí)行一個(gè)特定任務(wù)的小應(yīng)用程序,該任務(wù)在專用小部件引擎或更大程序的范圍內(nèi)運(yùn)行,通常作為插件。[1]該術(shù)語經(jīng)常用于表示Java applet,這是一種用Java編程語言編寫的程序,用于放置在網(wǎng)頁上。Applet是不會(huì)壟斷用戶注意力的瞬態(tài)和輔助應(yīng)用程序的典型示例。小程序不是功能齊全的應(yīng)用程序,并且易于訪問。
內(nèi)容
1 歷史
2 Applet作為其他軟件的擴(kuò)展
2.1 基于Web的小程序
2.2 Applet Vs. 子程序
3 Java Applet
4 安全
4.1 開放平臺(tái)小程序
4.2 Java小程序
4.3 基于Web的小程序
5 另見
6 參考文獻(xiàn)
7 外部鏈接
歷史
字小程序早是在1990年應(yīng)用于PC雜志。[2]然而,applet的概念,或者更廣泛地說是由用戶下載和執(zhí)行的小解釋程序,至少可以追溯到Jeff Rulifson的RFC 5(1969),后者描述了Decode-Encode Language(DEL),旨在通過下載小程序來增強(qiáng)交互,允許通過ARPANET遠(yuǎn)程使用oN-Line系統(tǒng)(NLS)。[3]這被認(rèn)為是RFC 2555中Java可下載程序的先驅(qū)。[4] Applet是一個(gè)事件驅(qū)動(dòng)的程序。
Applet作為其他軟件的擴(kuò)展
在某些情況下,applet不會(huì)獨(dú)立運(yùn)行。這些applet必須在主機(jī)程序提供的容器中運(yùn)行,通過插件或各種其他應(yīng)用程序運(yùn)行,包括支持applet編程模型的移動(dòng)設(shè)備。
基于Web的小程序
Applet用于為Web應(yīng)用程序提供交互式功能,這些功能在歷史上不能僅由HTML提供。它們可以捕獲鼠標(biāo)輸入,還有按鈕或復(fù)選框等控件。響應(yīng)于用戶動(dòng)作,applet可以改變提供的圖形內(nèi)容。這使得applet非常適合演示,可視化和教學(xué)。有在線小程序集合,用于研究從物理學(xué)到心臟生理學(xué)的各種科目。小應(yīng)用程序還用于創(chuàng)建在線游戲集合,允許玩家實(shí)時(shí)與現(xiàn)場(chǎng)對(duì)手競(jìng)爭(zhēng)。
applet也可以只是一個(gè)文本區(qū)域,例如,為某個(gè)遠(yuǎn)程系統(tǒng)提供跨平臺(tái)命令行界面。如果需要,applet可以離開專用區(qū)域并作為單獨(dú)的窗口運(yùn)行。但是,applet對(duì)applet專用區(qū)域之外的網(wǎng)頁內(nèi)容幾乎沒有控制權(quán),因此它們對(duì)于改善網(wǎng)站外觀一般不太有用(而新聞代碼或WYSIWYG編輯器等applet 也是眾所周知的)。Applet還可以播放瀏覽器本身不支持的格式的媒體。
HTML頁面可以嵌入傳遞給applet的參數(shù)。因此,根據(jù)傳遞的參數(shù),相同的applet可能會(huì)有所不同。
基于Web的Applet示例包括:[ 需要引證 ]
QuickTime電影
Flash電影
Windows Media Player小程序,用于在Internet Explorer(以及支持該插件的其他瀏覽器)中顯示嵌入的視頻文件
3D建模顯示小程序,用于旋轉(zhuǎn)和縮放模型
基于applet的瀏覽器游戲,雖然有些開發(fā)成需要安裝的全功能應(yīng)用程序。
小程序比 子程序
一個(gè)更大的應(yīng)用程序通過幾個(gè)功能區(qū)分它的applet:[ 引證需要 ]
Applet僅在系統(tǒng)的“客戶端”平臺(tái)環(huán)境中執(zhí)行,與“ servlet ” 形成對(duì)比。因此,applet提供超出其容器(瀏覽器)的默認(rèn)功能的功能或性能。
容器限制applet的功能。
Applet使用的語言不同于調(diào)用它的腳本或HTML語言。applet是用編譯語言編寫的,而容器的腳本語言是解釋語言,因此applet的性能或功能更強(qiáng)。與子例程不同,完整的Web組件可以實(shí)現(xiàn)為applet。
Java Applet
主要文章:Java Applet
Java Applet是一個(gè)從HTML啟動(dòng)并在Web瀏覽器中運(yùn)行的Java程序。它可以為Web應(yīng)用程序提供HTML無法提供的交互功能。由于Java的字節(jié)碼與平臺(tái)無關(guān),因此Java applet可以由在許多平臺(tái)上運(yùn)行的瀏覽器執(zhí)行,包括Windows,Unix,macOS和Linux。當(dāng)支持Java技術(shù)的Web瀏覽器處理包含applet的頁面時(shí),applet的代碼將傳輸?shù)娇蛻舳说南到y(tǒng)并由瀏覽器的Java虛擬機(jī)(JVM)執(zhí)行。[5]HTML頁面通過不推薦使用的 <applet>標(biāo)記或通過其替換的<object>標(biāo)記引用applet 。[6]
安全
包括移動(dòng)和嵌入式系統(tǒng)在內(nèi)的應(yīng)用程序編碼的新發(fā)展使人們意識(shí)到了applet的安全性。
開放平臺(tái)小程序
開放平臺(tái)環(huán)境中的小程序應(yīng)該提供不同應(yīng)用程序之間的安全交互。組合方法可用于為開放平臺(tái) applet 提供安全性。[7] 已經(jīng)開發(fā)了用于安全applet交互的高級(jí)組合驗(yàn)證方法。[7]
Java小程序
一個(gè)Java小程序包含不同的安全模式: 未簽名的Java小程序的安全性,簽名的Java applet安全性,以及自簽名的Java小程序的安全性。
基于Web的小程序
在支持applet的Web瀏覽器中,可以使用許多方法為惡意applet提供applet安全性。惡意applet可以通過多種方式感染計(jì)算機(jī)系統(tǒng),包括拒絕服務(wù),侵犯隱私和煩惱。[8] 惡意applet的典型解決方案是使Web瀏覽器監(jiān)視applet的活動(dòng)。這將導(dǎo)致Web瀏覽器啟用手動(dòng)或自動(dòng)停止惡意applet。為了說明這種方法,AppletGuard用于成功地觀察和控制瀏覽器中的任何applet。[8]