背景:兩大陣營的擂台賽
Macromedia 大力推廣 Flash Lite,試圖撼動 J2ME 在移動開發的霸主地位。開發者常陷入盲目對比或「A 終將取代 B」的極端論調。本文客觀分析兩者交集與差異,結論:**Flash Lite 不會全面取代 J2ME,兩者在不同領域各有優勢,共存互補。**
核心交集:本地運算與離線能力
兩者均能利用設備算力,減少網絡/服務器依賴,區別於 WAP 薄客戶端模式。理論上均可實現商務、娛樂、管理類應用。
Flash Lite 優勢領域
- 統一規範:Flash Lite Player 保證「一次編寫,到處運行」,無需重編譯。J2ME 可選包碎片化、KVM 實現差異大、廠商 Bug 多。
- 極致用戶體驗:擺脫 MIDP LCDUI 與底層 MMI,開發者自由設計 UI,避開繁雜 API。MIDP UI 既醜又弱(作者正嘗試改進)。
- 原生矢量/ SVG 支援:自適應多種分辨率,J2ME 需人工適配,工作量巨大。J2ME 幾乎無法實現 MTV 類逐幀動畫。
- Flash Cast 潛力:雖資料少,但值得期待。Sun 缺乏與 J2ME 深度整合的服務器技術(但 J2ME 可對接任意服務器)。
J2ME 鐵三角優勢
- 功能豐富度:JCP 持續推進新規範(底層訪問、多媒體、SVG、3D),雖落地需時,但上限極高。
- 復雜應用支撐:安全機制、存儲、網絡連接成熟健壯,Flash Lite 薄弱且難以彌補。
- 設備滲透率:雖簽下 Nokia、三星,但 Flash Lite 多限於 S60 等高端智能機,S40 等大眾機型仍是主流利潤點,普及路漫漫。
開發者的理性選擇
「用最適合的工具完成適當的工作。」
— 簡單動畫、豐富 UI、快速原型、針對高端機 → Flash Lite
— 複雜商務邏輯、安全存儲、廣泛設備覆蓋、長期維護 → J2ME
技術無絕對強弱,只有場景契合度。拒絕聖戰,擁抱多樣性。
註:文中 J2ME 特指 MIDP/CLDC 體系,不含 CDC/PersonalJava。