智慧型手機大放異彩,其開發層級已與桌面平台相當。因此,原本為移動設備而生的 Java ME,似乎在移動市場失去了未來。但筆者認為,Java ME 並未消亡,只是退居二線。本文將分析非智慧型手機的現狀,並指出 Java ME 在嵌入式開發領域仍有廣闊發揮空間。
直白說,Java ME 並非移動應用開發的前沿。當它被劃分為各種相容版本時,常遇到麻煩,其最大優勢「撰寫一次,到處執行」被戲謔為「撰寫一次,不斷除錯」。若你深受其擾,為何不開發原生應用?原生應用在執行時彷彿天生屬於該平台。但問題在於開發平台將逐步被淘汰,今天的中端平台將以超乎想像的速度成為低端平台。隨著 iPhone 問世,智慧型手機走向主流:iPhone 應用使用 Objective-C,Android 應用使用經修改的 Java 版本,早期應用則以 HTML 和 JavaScript 建構——這些技術原本皆為桌面電腦設計。
然而,這不代表 Java ME 將不再被使用。BlackBerry 仍以 Java ME 為基礎開發應用,更有趣的是,有些手機既非真正的智慧型手機,也非只能打電話的低端機,它們對 Java ME 的需求日益頻繁。IDG 新聞服務報導了一則有趣的評論:GyPSii 社交網路客戶端推出 Java ME 版本。
「諾基亞 6300 和索尼愛立信 C905 用戶,現在都能連接以自身位置為中心的移動社交網路,例如標記附近的朋友與他人位置。用戶也能獲得高端智慧型手機才有的體驗。」—— GyPSii 發言人
「隨著智慧型手機市場飛速發展,一些簡單設備的應用軟體開發使用專有作業系統,但對 Java 的支援並未落後。」—— CCS Insight 分析師佩斯卡托
「對於像 GyPSii 這樣的社交網路,能盡可能支援更多設備至關重要。」GyPSii 已支援 iPhone、BlackBerry、Windows Mobile 和 Symbian 手機。
注意順序——高端智慧型手機獲得優先照顧——但 Java ME 憑藉提供類似智慧型手機的功能(這些功能是基礎作業系統所不具備的),在非智慧型手機市場佔有一席之地。這些手機或許不那麼華麗迷人,其用戶可能因羨慕智慧型手機而煎熬,但它們的數量遠超許多高端智慧型手機。正如 Java 專為桌面設計,卻在沉悶的伺服器世界繁榮,Java ME 或許能最終發掘手機的巨大潛能,而非推動移動電話革命。
所以,Java ME 沒有死,它只是退居二線了。