前言:Java 在 RIA 領域的失落與反思
Java 發明了 RIA (Rich Internet Application) 概念,卻在這領域步步退讓,讓位給 JavaScript/HTML5、Flash、Silverlight 等後起之秀。身為資深 C++ 開發者轉型 RIA 的作者,在尋找理想客戶端方案 (輕量、UI 靈活、具 Java 強健特性) 過程中,自行研發了 Galileo RIA Framework,並深入研究 Java 插件現狀。本文剖析 Java 插件衰退原因,並論述其翻身契機。
Java 插件失敗的五大主因
- 頻寬時代的產物:撥號上網年代,JRE 體積過大,下載等待超出使用者耐心。
- Swing UI 醜陋僵化:與 HTML/CSS 靈活美觀相比,Swing 原生外觀顯得笨重、非原生。
- 跨平台/瀏覽器相容性差:早期版本在不同瀏覽器、作業系統表現不一,開發者信心受挫。
- 安裝門檻高:非技術使用者難以完成 JRE 安裝、更新與配置。
- 市場教育不足:Web 早期以靜態頁為主,網站不願為 RIA 增加複雜度、犧牲潛在用戶。
翻身關鍵:六大樂觀指標
- 寬帶普及率 86% (美國數據):JAR 下載時間已可忽略不計。
- Sun 重寫新一代插件:易偵測、下載、安裝、升級;瀏覽器原生提示安裝流程。
- 新作業系統預裝:Dell Vista、Apple Mac Mini 等新裝置將內建 Java 插件。
- 安裝基數龐大:2008 年調查:99% 桌上型/筆電裝 Flash,85% 裝 Java,插件不再是稀有物。
- RIA 成主流需求:傳統 HTML 無法滿足互動豐富應用;RIA 複雜度需要專業開發者 (Java 開發者佔優),而非美工。
- 新一代 UI 框架崛起:如 Galileo,提供 HTML/CSS 級外觀彈性,解決「Java UI 醜」痛點。
專家觀點:Marty Hall (CoreServlets.com)
「Ajax 對開發者太複雜:需精通 XHTML、XML、JSON、JavaScript、Prototype 等 37 種函式庫、伺服端技術... 即使有 GWT 仍有大量底層細節。更多吸引人的 Java 應用出現,人們就會安裝 Java。」
結語:社區共同努力才是關鍵
Sun 推出 JavaFX 搶灘 RIA,但單靠廠商不夠。Java 插件若要成功,需要每位 Java 開發者:
✅ 建構吸引人的 RIA 應用案例
✅ 推廣插件安裝最佳實踐
✅ 參與開源框架貢獻 (如 Galileo)
✅ 在專案中評估 Java 客戶端方案可行性
機會之門已再次為 Java 插件敞開,能否把握,端賴社群共同行動。