J2ME開發使用Java語言,脫離平台技術(J2SE/J2ME/J2EE)來看,Java本身語法簡潔、直觀,程式碼可讀性遠超C++。加上SDK配置簡單,輔以JB、Eclipse等強大IDE(J2ME開發首推JB),具備Java基礎的開發者上手極快。
有人宣稱「兩三週學完」,實則因API少反而增加挑戰。J2SE/J2EE提供豐富API可直接調用,J2ME僅提供最基礎功能,其餘需開發者自行實現——這才是真正考驗程式設計能力的地方。
記憶體、處理速度雙重限制,迫使開發者拋棄許多優美設計,對每行程式碼極致優化。不僅要減少物件建立,連物件引用都要能省則省。在這種約束下產出的優質應用、遊戲,含金量遠超桌面平台開發。
螢幕解析度、記憶體、處理器、KVM實現、J2ME規範支援程度,機型差異極大,「一次編譯,到處執行」幾乎成笑談。但J2ME仍是移動領域跨平台最佳選擇——智慧型手機與傳統手機皆支援Java,適配成本遠低於原生開發。良好的架構設計能將適配成本降至最低。
Sun制定規範,廠商自行實現KVM,導致實作品質參差不齊。經典案例如Nokia 6600,開發者深受其害。S40機型相對較少Bug,但封閉系統無法修復。這考驗開發者除錯能力,隨時間推移廠商會推出韌體更新改善。
J2ME入門確實簡單,但要「精通」需掌握移動開發特有的程式設計、調試技巧,絕非一蹴而就。這正是J2ME開發的魅力與挑戰所在。