對J2ME一些開發問題解決方案的想法

        首先聲明,我J2ME是菜,主要是搞服務器端東東的,這個問題的產生是因爲要參加挑戰杯,我同學提出的,他J2ME開發相當有經驗.總的來說,我大概分析有以下這幾個方面.

        第一,手機性能有瓶頸,我同學告訴我,他寫程序很容易把重量級的類產生多個實例,浪費性能,雖然是認爲原因,可以避免,但我想,就好象C++的析構函數一樣,爲什麼不能讓機器去做呢,人總會犯錯誤的嘛...

        第二,雖然說J2ME理論上說是個統一的標準,但各個廠商實現有所不同,不同手機的顯示效果差距很大,一個軟件寫出來雖然能run any where但是真正能着舒服的卻沒幾個地方,我們必須針對不同的手機進行修改,那爲什麼不同做一個統一的外觀?當然,用低級描繪當然會導致性能的下降,但是我同學告訴我,這樣所佔的內存反而小了,我倆也搞不懂爲什麼,不過,我想如果能用JNI做的話肯定性能就不操心了,雖然短期不可能,而且也不知道可行不...

        第三,手機的開發沒有一些常用的中間件,這就導致手機開發複用性很差,雖然中間件對手機來說是個很難接受的性能的消耗,但是如果針對手機,簡化中間件的結構,用類似微內核的思想,做出最簡單的功能,外面在加上可選的安全層,啓動控制層等等以適應於不同性能手機的話我想也應該值得一試...

        第四,手機的網絡連接雖然有了很棒的封裝,但是手機的信道容量有限,上傳文件一次不能超過1.2K是個大問題,而且連接不穩定,所以與PC平臺的交互問題沒有根本解決,這樣手機就永遠無法成爲一個與PC平臺同層面的娛樂辦公工具...

        主要是基於以上幾點原因,我設想,使用插件體系結構來解決這個問題,不過這裏跟PC領域的插件體系結構的目的可是不同的,PC領域是主要爲了軟件的複用,開發的速度.而移動設備上,我更希望它首先可以爲我們提供一個簡單統一高效的開發模型,其次纔是程序的複用.

        另外,移動設備的OSGI框架與我的目的相差太遠----廠商的實現不統一,而且絕大部分沒有實現,雖然OSGI在國外很受重視,但是希望它統一所有的電子設備我想太難了,不是短時間可能的.手機端的OSGI實現更是屈指可數,只有少的可憐的手機有,而且設想下,OSGI CORE所提供的6層結構,安全層的系統消耗,基於反射的動態加載,使得正宗OSGI對手機性能的要求相當客觀,就我來看,至少在國內是不可行的.

        所以我設想,使用一個類似OSGI的簡單的插件框架,基於J2ME,使用幾個簡單的類管理插件,使用類似JDBC和SWT的實現方法,將服務的應用註冊到environment的靜態hashmap中,然後用一張引用表查看對不同服務的引用情況,服務使用單例和享元模式保證不做重複的開銷,精簡掉OSGI的startlevel層和security層,師他們成爲一個可選層(當然Security本身可選),這就是我的大體思路,今天就開始動工了.

        我的QQ是41572359,希望有經驗的人可以給我一些建議和批評,我對J2ME確實沒什麼經驗,而且知道老師完全幫不上忙.另外我還有OSGI框架CORE部分規範的原代碼分析,不過沒整理.equinox的分析還沒完成,有興趣的可以發信息到我郵箱,我會發過去.還有就是全國各位研究OSGI的大蝦指點指點小弟啊...自己奮鬥好辛苦餓~~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章