專門介紹Mobile趨勢及應用

2007年5月4日 星期五

為什麼開發Java手機程式很痛苦...

剛剛看到Forum Nokia Blog的一篇Blog"Notes for Java developers targeting new Series 40 entry-level phones",內容大致上是在介紹Nokia公布了7隻新的入門手機,其中有3隻手機是Java Enabled的,分別是263026602760,原本我對這種類似新聞稿的消息沒什麼興趣(因為這兩天好幾個國外的Blog跟Mobile相關網站都已經披露過),但是我看到了下面一段話:

The set of Java APIs on those low-end phones differ a little from the mainstream Series 40 devices as there are fewer supported APIs on those devices than for example on Series 40 3rd Edition FP2 devices, but there are also some APIs supported, which are not available on Series 40 2nd or even 3rd Edition devices.
真像是繞口令,這段話只給我一個感覺,開發Java手機程式很痛苦....寫一個程式還要去擔心哪個API可以用,哪個API不能用,怎麼包jar檔,哪隻手機支援的jar size有多大,動態的heap有多大,是否需要動態打包jar檔,更別提官方Spec有時還會出錯,還有...Blah..Blah...Blah....。

另外一方面,剛好這幾天又逛到Windows Mobile Team Blog的一篇Blog"When Do You Switch From The Emulator To A Device?",我也同樣摘錄其中一段話,給大家參考:

Our long term goal for the emulator is to make it good enough for many developers to build and test their applications without the need to purchase devices. There's a few reasons for this :
  1. The Windows Mobile development platform is consistent so the APIs exposed by the emulator are consistent with the APIs exposed by devices
  2. Devices are expensive (both device and service)
  3. You can't always buy your target device in your territory, for example a European developer can't easily buy the Q
  4. With the proliferation of different device form factors, keeping the test matrix up to date is time consuming and expensive
We've made big strides with our device emulator in the last few years. We moved to true ARM emulation, we've improved performance and in Windows Mobile 6 added new functionality for testing interaction with cellular events and testing GPS applications. With the emulator we're able to release emulator packs to support new form factors as they come to market.
其中很清楚的點出了我前一篇文章中提到的一些問題,兩相比對之下,我必須說Microsoft真的看出手機軟體開發的問題所在,而且正在極力解決這個問題,而Java陣營呢?從我7年前研究所開始研究J2ME開始,對沒錯..多了許多API..很多JSR都成真了...但是基本的問題解決了嗎? 我個人的看法是沒有,Write Once, Run AnyWhere什麼時候才可以在手機平台實現呢?

沒有留言: