北京中電飛華通信有限公司 冀永歡
本文主要介紹了移動應用開發現狀,闡述了四個移動應用平臺和開發模式,分析了移動應用開發技術的有效應用,探討了移動應用開發的前景,以加強對移動應用開發的研究,充分發揮現代科學技術的作用,利用現代工具來為移動應用開發人員,提供更多的技術選項。移動應用開發產業的發展,需予以高度重視,不容忽視,需從各方面來加以研究和探討,從而優化移動應用開發產品,推動移動應用開發行業的可持續發展。
21世紀是一個信息化時代,計算機信息技術被廣泛應用于各個領域中,移動應用開發行業應運而生,取得了不錯的發展狀況,具有一定的發展前景。移動應用開發,指的是通過手機、PDA、UMPC等便攜終端來實施科學的開發工作,基于這類隨身設備進行無線上網。早期的移動應用開發涵蓋了Java設備、塞班設備,當下則主要以安卓設備、蘋果設備等移動應用開發為主。移動應用的形成,能夠拓展移動設備的功能,使之除卻自帶功能之外,還能夠安裝應用程序,啟動游戲程序,有利于為人們解決個人智能終端,推動移動應用開發行業的大力發展。
在當前的移動應用開發過程中,選擇開發平臺的時候主要參考市場占有率。開發人員十分重視自己所開發應用的市場盈利能力。目前大部分的開發人員都不會只局限于一個平臺中。安卓系統成為最受全球移動應用開發人員喜歡的平臺,根據調查發現至少由百分之六十的開發人員開發過安卓系統中的應用,其次最喜歡的則是IOS系統,緊接著是Symbian、Java ME。現如今,平臺的終端數量和應用數量并未形成正相關[1]。
無論是Phone操作系統,還是Palm操作系統,其都可以運用于手持設備的開發中。目前,四個移動應用平臺主要是以下幾種:
(1)Java ME平臺。這一平臺的此子集,提供了Java API集合,并且該集合經過了認證。其主要運用于開發手機、機頂盒等資源方面有一定限制的設備軟件。Java ME主要運行于內核虛擬機上,相較于J2SE和J2EE、Java ME的運行環境更具多樣性。Java ME的架構分為Configuration、Profile和Optional Packages,其能夠盡量滿足于不同情況、方面下的需求,具有一定的兼容性。其中Configuration是從縱向上來對設備進行分類,根據其儲存能力、處理能力,來定義虛擬機的基本類庫,已經標準化的Configuration有Connected Limited Device Configuration(CLDC)和Connected Device Configuration(CDC);基于Configuration、Profile構成了完整的運行環境,其主要是從橫向上來對設備進行分類,基于特定領域來細化目標市場,內容主要包括了兩方面,一方面是特定用途的類庫,另一方面是API。CLDC上已經標準化的Profile有Mobile Information Device Profile (MIDP)和Information Module Profile(IMP),而CDC上標準化的Profile有Foundation Profile(FP)、Personal Basis Profile(PBP)和Personal Profile(PP)[2];Optional Packages則獨立于前兩者,其能夠提供附加的多樣化功能,實現模塊化。主要包括了藍牙訪問、數據庫訪問和多媒體應用等內容。
(2)NET CF平臺。其是一種獨立的硬件環境,在資源受限制的計算設備上運行程序。常用NET CF開發的移動設備主要有三種,一種是個人數據助理,一種是移動電話,另一種是安裝有Microsoft Windows CE.NET操作系統的自定義設計的嵌入設備,比如說機頂盒、手持機等。在設備內存中,NET CF預加載了公共語言運行時引擎,有利于部署移動應用程序,而且也提供雷影的互操作性,能夠直接于移動應用程序中集成本機組件。
(3)Adobe Flash Lite平臺。Adobe Flash Lite主要是應用于多媒體、游戲變成平臺的專有技術,能夠為供應商提供豐富的內容,于移動設備中科學部署交互式界面。Adobe Flash Lite的應用程序包含了SWF圖形、GUI描述、動畫格式儲存。其能夠讓移動設備完美支持Flash播放器,支持流行的FLV格式。
(4)安卓系統。安卓系統由谷歌于2007年推出,其是一種基于Linux內核的自由、開放源代碼的操作系統,但其不包含GNU組件。
四種應用平臺的比較分析如表1所示 。

表1 四種移動應用開發平臺的比較Tab.1 Comparison of four mobile application development platforms
(1)移動應用開發模式是Native App。這一應用主要以本地操作系統運行為基礎,是一種原生開發模式,分為兩個部分,一部分是客戶端,另一部分是服務器。可以直接將UI元素、數據、邏輯框架下載至本地。Native App的開發成本、維修成本相對來說較大,而且不同版本之間的體驗效果有著一定的差異性。其優勢在于能夠通過審核,保證應用程序的質量和運行安全。在本地有緩存,可以減少流量的使用量,響應速度相對來說比較快??沙浞掷迷O備硬件資源,如藍牙、攝像頭等。部分情況下支持離線,支持消息推送。其不足則在于下載安裝之后,會占用本地的空間,在一定程度上影響了設備運行速度。而且和操作系統綁定,開發維修成本有所增加。多層審核可能會導致不同版本上線時間的不統一。新版本用戶要下載升級,如若不更新則會影響程序的應用。這種移動應用開發模式,主要適用于一些大型游戲,或是各種工具類應用中[3]。
(2)移動應用開發模式是Web App。這是一種Web技術編程,以HTML、CSS和JS為基礎,是在瀏覽器中運行的移動應用,屬于網頁開發模式,服務器提供數據,能夠實現數據的實時交互,但其在響應能力方面不如Native APP。Web App的優勢在于其不需要下載安裝便可以應用,用戶使用的永遠都是最新版本,而且能夠跨平臺應用,在開發成本方面比較低,開發周期也較短。無需上線審核,不同Web App之間可通過鏈接進行挑戰。HTML5可減少瀏覽器插件的使用;其不足之處則在于只可通過HTML5、JS提供的API來實現部分功能的應用,對網絡環境的要求比較高,需要較大的流量,過于依賴瀏覽器,無需審核,雖然帶來了便捷,但也威脅到了安全性。這種移動應用開發模式,主要運用于一些需要進行實時更新的應用中。
(3)移動應用開發模式是Hybrid App。其結合了前兩者開發模式的優點,主要有兩種開發形式,一種是基于原聲技術的混合架構,可解決運行效率低的問題,另一種是基于Web技術的混合架構。可利用PhoneGap來快速打包Web網站,能夠繼承Web App的響應速度。這種開發模式的優勢在于可跨平臺,進行實時更新,所需要的開發時間并不長,而且成本相對來說比較低。有著不錯的用戶體驗,響應速度比較快,能夠調用硬件設備API;其不足則在于用戶體驗不如原聲,開發成本多余Web App這種開發模式。Hybrid App適用于大部分的移動應用,電商、餐飲等領域中是首選。
(4)移動應用開發模式是小程序。其無需下載安裝,也不占用桌面內存,主要分為兩個部分,一部分是客戶端,這部分的作用在于提供框架、組件、API;另一部分是服務端數據,這部分主要是提供API。
在探討移動應用開發技術的有效應用時,可從幾點方面著手:(1)主流移動應用開發技術。從市場角度來看,目前市場上占主導地位的是安卓平臺和IOS平臺。IOS平臺的特點在于其有著良好的程序開發環境,模擬器幾乎可以模擬大部分的功能,只有部分需要在真機上進行調試。而且IOS系統具有一致性,只運行于蘋果設備中,而且在這些設備中操作系統版本基本保持一致。該系統有著不錯的用戶交互體驗;從技術角度來看。需要對不同平臺的開發需求、用戶體驗進行全面分析。比如說,IOS系統使用的是Object-C,實際運行中其所處環境是Xcode,只能于MAC上進行開發,內部語言為英語,這要求開發人員有著扎實的英語基礎,還需要足夠的響應工具包;而安卓系統的開發則更貼近于大眾,其市場占有率最大,開發這一平臺的移動應用時,可同時于MAC、PC等操作系統中進行開發,而且開發語言、開發環境的要求相對來說更為簡單[4];(2)Web開發技術。這一技術的應用,可在不同分辨率下取得較好的現實效果,能夠通過框架來模擬開發形式,有著不錯的跨平臺性,但Web的應用率不算高;(3)混合開發技術。主要分為View混合型技術、Web主體型、單View混合型。
就目前而言,在實踐過程中,設備會隨著許多軸的變化而發生變化,這就使得所編寫的移動應用程序,絕不會只能夠運行于單一版本的設備上。碎片化的增加,加大了軟件生命周期中的生產工作量,在一定程度上加大了生產成本,而且也延長了移動應用程序的上市時間,目標市場范圍相對來說較小一些。這有利于規范可選API,實現標準化,能夠通過API驗證計劃、技術兼容性套件來實施標準化執行。平臺供應商、設備制造商、運營商,作為移動應用程度行業的主要參與方,其應當在現階段的碎片化環境下,奮起抵抗,發揮自身作用。
如今,移動服務體系結構,逐步成為一種行業標準,旨在降低碎片化程度,給移動應用開發人員提供Java ME平臺。不僅要使用指定的兼容設備,含有JSR組件,還需要表明整個行為要求,以此來促進JSR可預測性的提升,使之具備良好的相互操作能力。MSA定義了16個JSR的完整堆棧和8個JSR子集。從JSR 248到249,開發人員發現了符合移動服務體系結構要求的應用程序,有關于OME的內容還需要進一步研究和觀察[5]。
Windows系統的筆記本電腦只要存在,就會給移動應用開發人員奠定扎實的基礎。NET CF是一個具有豐富功能的平臺,所編程、訪問的應用,能夠和Windows兼容,也可應用智能手機的本機組件。但要注意的是這一系統雖然能夠移植于電話操作系統中,但是整體上較為麻煩,效果過于復雜,難以增加其市場份額,還需要做好平臺適配工作,于操作系統和CLR之間創建接口。
總而言之,隨著現代科學技術的日新月異,為了滿足人們的移動應用需求,應當重視對移動應用開發的研究,需基于當前的實際情況,來不斷地優化開發模式,選擇適宜的開發平臺,有效應用先進的科學技術,豐富應用程序設計,從而促進移動應用開發行業的可持續發展。