2005 年對資通訊開發者充滿期待,純技術驅動的 3G 商用將為行動開發插上翅膀。作者認為 J2ME 將是這場競賽的領跑者。本文從架構、特性與競爭對手比較三維度深度解析。
J2ME 概觀:嵌入式/行動平台王者
- CSDN 2004 年調查:24.34% 受訪者涉足嵌入式/行動開發,J2ME 佔王者地位,Linux、WinCE 列二三位
- Symbian 開發者佔有率尚待提升;若廠商標準實現更規範,J2ME 跨平台特性將更淋漓盡致
- J2ME 為 Sun 針對嵌入式消費性電子產品的平台,與 J2SE、J2EE 並列 Java 三大支柱
- 本質為 一系列規範集合,由 JCP 制定 JSR 發布,廠商依規範實作並通過 TCK 測試確保相容性(如 MIDP 2.0 定義於 JSR 118)
- 設計靈感源自 Java 最初面向消費性電子的初衷,可謂回歸起點
核心架構:KVM、Configuration 與 Profile
起源:KVM
KVM 之父 Antero Taivalsaari 曾任職知名電信設備廠,萌生在手機實作 Java VM 想法,獲經理支持後帶領團隊開發出可在手機運行的 VM 與 CLDC 核心類庫,J2ME 正式浮出水面。
兩大核心概念
- Configuration:支援最廣泛裝置的最小平台,含 Java VM
- Profile:針對特定裝置提供的開發套件集合
- Optional Package:針對特定裝置功能的擴展包(如 Mobile Media API)
兩種 Configuration
| Configuration | 全名 | 目標裝置特徵 |
| CLDC | Connected Limited Device Configuration | 小記憶體、有限網路、16/32位元處理器(手機、Palm) |
| CDC | Connected Device Configuration | 較強處理/儲存能力(PDA、機頂盒、車載系統) |
早期規範的硬體門檻已過時,現代行動裝置效能大幅提升。目前應用仍以 CLDC 為主,但作者參與的兩大電信廠專案顯示,CDC 應用將逐漸佔據主流,因提供更強大類庫支援。
MIDP 演進:從 1.0 到 2.0 的補完之路
- CLDC 缺乏 GUI API,應用無法與用戶互動
- MIDP 1.0:引入 MIDlet 應用模型、
javax.microedition.lcdui GUI、RMS 持久化、GCF HTTP 聯網,J2ME「幾乎無所不能」
- 暴露問題:規範過於寬鬆導致廠商實作差異大(應用大小、RMS 空間、執行緒數);廠商擴展專屬 API(如 Nokia UI 的聲音/全螢幕)破壞跨平台性
- MIDP 2.0 補強:MMAPI 子集解決聲音、
javax.microedition.lcdui.game 遊戲包、Push/Socket 聯網支援
- JSR 185 (JTWI):嚴格規範,提升應用相容性
- Optional Packages 百花齊放:Bluetooth API、SIP API、Mobile 3D Graphics 提供強大功能
市場與競爭格局
- 硬體普及:Java 手機數量成倍增長,預估 2006 年突破 6 億支,佔手機出貨量 83%
- 增值服務爆發:預估 2008 年全球 Java 相關行動增值服務市場達 147 億美元
- 主要競爭者:
- BREW:相容性差為最大缺點;中國聯通 2004 年聯手 Sun 推 UniJa 平台對抗
- Symbian:最成熟手機 OS,可用 Java 或 C++ 開發;但開發資料貧乏、C++ 效率低於 Java
- Windows Mobile:Motorola、多普達推出 Smartphone 顯露野心;Compact .NET Framework 高效開發,但市佔率尚低
結語
J2ME 平台開放、已佔絕對市場份額,有理由相信將持續領跑行動開發。無論鹿死誰手,開發者應保持務實執著、摒棄浮躁。2005 年是行動開發邁向成熟之年,讓我們拭目以待!