歷史定位
Applet 曾是 Java「寫一次到處執行」最耀眼的展示舞台:瀏覽器內嵌、無需安裝、跨平台一致行為。雖已被 Web 技術 (HTML5/JS/WASM) 取代,但其設計哲學仍具參考價值。
優勢一:零安裝部署
- 真正的平台獨立:含聲音/圖像/網路等多媒體能力,無需針對 Windows/Mac/Linux 分別編譯調整。
- 自動更新:每次載入網頁即自動下載最新版本,無「安裝精靈」、無「DLL 地獄」、無使用者干預。
- 對比傳統 C/S 架構:客戶端升級曾是 IT 部門噩夢,Applet 模式將部署成本降為零。
優勢二:核心語言級安全沙箱
- 安全機制內建於 JVM 與類別載入器,非事後補丁。
- 禁止本地檔案存取、禁止原生程式呼叫、禁止任意網路連線、限制系統屬性讀取。
- 數位簽章機制:受信任 Applet 可申請提升權限,未簽章者嚴格受限。
- 這使 Java 成為企業內部網 (Intranet) C/S 開發的首選:安全性 + 易部署 = 低維運成本。
優勢三:HTML 原生整合文件模型
- Applet 嵌入網頁:
<applet code="..." width=... height=...>,成為文件流一部分。
- 文件為中心,程式為附屬:超連結導航、書籤、列印、搜尋引擎索引皆自然適用。
- 這與傳統「程式擁有視窗、視窗包含文件」的桌面範式截然不同,預示了 Web 應用的到來。
歷史局限 (導致衰退的原因)
| 限制 | 影響 |
| JVM 啟動緩慢 | 首次載入需數秒,使用者流失 |
| 瀏覽器相依性 | 各瀏覽器 JVM 版本不一、Bug 不一 |
| 沙箱過於嚴格 | 無法滿足豐富客戶端需求 (檔案、印表機、硬體) |
| JavaScript/AJAX/GWT 崛起 | 無需外掛即可構建豐富 Web UI |
| 行動裝置不支援 | iOS/Android 瀏覽器無 Java 外掛 |
| 安全漏洞頻傳 | 瀏覽器廠商相繼封鎖 NPAPI 外掛 |
現代啟示
- 零安裝部署 → Web App / PWA / WebAssembly 繼承此精神。
- 沙箱安全 → 瀏覽器同源策略、CSP、WASM 沙箱、站點隔離延伸此觀念。
- 文件中心模型 → REST API + 前端框架 (React/Vue/Svelte) 構建的單頁應用,本質是「文件即介面」。
- 跨平台執行 → WASM 讓 C++/Rust/Go 在瀏覽器近原生速度執行,實現 Applet 當年夢想。
Applet 雖已退出歷史舞台,但它驗證了「安全、可攜、零安裝」的網路軟體分發模式,為後續 Web 技術演進鋪路。今日開發者應從中汲取教訓:技術必須順應平台演進,而非試圖控制平台。