現今的已經兼容3G手機等移動終端設備,而3G智能手機使用的操作系統一般與PC的操作系統不一樣,其開發環境一般都在PC上進行,通過模擬器在PC上進行手機系統的應用程序開發,而在這些操作系統上運行的應用程序一般都比較缺乏,為了在系統上有更多的應用,通常把PC上的應用程序通過相應的代碼修改和重新編譯,實現PC應用程序的手機移植。智能手機的應用程序移植主要采用跨平臺的開發語言進行開發,如JAVA和C語言,通過跨平臺語言的多平臺交叉編譯以及一些特定的優化,使在PC上運行的應用系統能移植到手機系統上。
3G智能手機包括不同的操作系統,如蘋果手機的iOS系統、安卓手機的Android系統、Windows Phone系統、諾基亞手機的Symbian操作系統等,這些操作系統的應用程序一般都不能在其他的操作系統上運行,傳統的方式是為每個操作系統開發相應的應用程序,但需要為每個操作系統編寫不同的代碼,因此開發與維護的成本非常高。本項目采用了分層異構開發技術,在移植代碼最小化的前提下,解決了的手機跨平臺的兼容性、執行效率的問題。該技術采用跨平臺的JAVA、C語言進行編碼,JAVA語言能支持幾乎全部的手機操作系統,其界面庫都能跨平臺,但執行效率相對較低,適合于開發跨平臺的界面;而C語言也能支持全部的手機操作系統,執行效率非常高,但跨平臺的時候只能實現C語言標準庫的跨平臺,適合于開發底層的傳輸及處理算法。針對這兩種開發語言的特性,我們把系統分成用戶界面層、業務層、復用層、通信層,用戶界面層用JAVA語言進行開發,保證了不同的操作系統具有相同的操作界面;由于業務層、復用層、通信層只涉及到具體的傳輸和處理算法,而這些算法通過C語言的標準庫就可以實現,因此采用C語言進行開發,保證了系統的執行效率。而用C語言實現的這四個層,我們會把它保存為一個動態庫,這個動態庫供上層的界面層來調用。雖然該方式在不同的平臺上還需進行重新編譯,甚至會需要改動一些代碼,但該方式已經實現了移植代碼的最小化,兼顧了執行效率和對不同平臺的兼容性的支持,并且大大減少了開發和維護成本。