◎劉智健
移動(dòng)互聯(lián)網(wǎng)應(yīng)用跨平臺(tái)開發(fā)
◎劉智健
智能移動(dòng)終端與移動(dòng)互聯(lián)網(wǎng)的發(fā)展,促進(jìn)移動(dòng)互聯(lián)網(wǎng)應(yīng)用跨平臺(tái)的發(fā)展,通過對移動(dòng)互聯(lián)網(wǎng)跨平臺(tái)開發(fā)技術(shù)的探討以及跨平臺(tái)應(yīng)用技術(shù)的應(yīng)用開發(fā)進(jìn)行分析,指出了移動(dòng)互聯(lián)網(wǎng)應(yīng)用跨平臺(tái)的開發(fā)成為未來的發(fā)展趨勢。
隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)的發(fā)展,以及智能設(shè)備終端的普及,移動(dòng)上網(wǎng)成為當(dāng)前主流形式,一些移動(dòng)互聯(lián)網(wǎng)服務(wù)商和設(shè)備生產(chǎn)商都開始構(gòu)建移動(dòng)互聯(lián)網(wǎng)的生態(tài)鏈,設(shè)計(jì)不同的移動(dòng)上網(wǎng)終端程序,保證用戶能夠快速、有效的登錄互聯(lián)網(wǎng)。因此,對移動(dòng)互聯(lián)網(wǎng)應(yīng)用的跨平臺(tái)應(yīng)用與研究成為當(dāng)前主要解決的問題。
目前,移動(dòng)互聯(lián)網(wǎng)應(yīng)用形態(tài)主要有原生應(yīng)用和移動(dòng)Web應(yīng)用兩種方式,大多數(shù)應(yīng)用的原生應(yīng)用方式,在系統(tǒng)的終端都采用的是程序語言編寫開發(fā)的技術(shù)。它可以利用操作系統(tǒng)的API與移動(dòng)的平臺(tái)的特性,開發(fā)出的軟件應(yīng)用能力強(qiáng),可移植性好、交互性強(qiáng)、效率高等優(yōu)點(diǎn)。
基于HTML5的移動(dòng)Web應(yīng)用開發(fā)技術(shù)。HTML5開發(fā)的程序可移植性比較強(qiáng),開發(fā)的效率也比較高,基于HTML5的移動(dòng)Web應(yīng)用開發(fā),可以有效的繼承Web技術(shù)的開發(fā)與應(yīng)用,具有開發(fā)簡單、跨平臺(tái)的兼容性好、適配能力強(qiáng)等優(yōu)點(diǎn),通過HTML5技術(shù),可以支持各種跨平臺(tái)使用的API調(diào)用技術(shù)(例如Vibration、Battery Status等平臺(tái)),輕松的實(shí)現(xiàn)對各種智能終端硬件的調(diào)用,通過這種原生應(yīng)用的功能就能夠?qū)崿F(xiàn)復(fù)雜的跨平臺(tái)調(diào)用API。采用該技術(shù)開發(fā)移動(dòng)互聯(lián)網(wǎng)的跨平臺(tái)應(yīng)用時(shí),將Web移動(dòng)應(yīng)用部署到本地服務(wù)器上,在移動(dòng)智能終端訪問應(yīng)用時(shí),服務(wù)器以HTML5,CSS3和JavaScript形式來傳輸數(shù)據(jù),以完成智能終端的數(shù)據(jù)響應(yīng)與請求。系統(tǒng)的終端UI的應(yīng)用與動(dòng)態(tài)效果的展現(xiàn)主要采用的是Web kit內(nèi)核技術(shù),來解析HTML5,CSS3與JavaScript應(yīng)用來完成數(shù)據(jù)的交互功能,這對與跨平臺(tái)的數(shù)據(jù)調(diào)用運(yùn)用瀏覽器提供的JavaS cript擴(kuò)展API功能完成的,具體的實(shí)現(xiàn)構(gòu)架如圖1所示:
采用這種架構(gòu)需要充分的調(diào)動(dòng)移動(dòng)互聯(lián)網(wǎng)終端的應(yīng)用能力,才能有效的發(fā)揮系統(tǒng)的功能,但是由于目前HTML5的功能標(biāo)準(zhǔn)還沒有制定,導(dǎo)致瀏覽器對HTML5支持能力還存在差別,這樣就會(huì)出現(xiàn)系統(tǒng)不兼容的狀況。如何有效的實(shí)現(xiàn)Web應(yīng)用開發(fā)的跨平臺(tái)特性和原生應(yīng)用有機(jī)的結(jié)合在一起,并開發(fā)自由的API調(diào)用功能,就需要結(jié)合二者優(yōu)點(diǎn)的混合開發(fā)技術(shù)。
混合應(yīng)用開發(fā)技術(shù)。移動(dòng)互聯(lián)網(wǎng)的混合應(yīng)用開發(fā)技術(shù)能夠有機(jī)的將原生應(yīng)用開發(fā)與移動(dòng)web的應(yīng)用開發(fā)結(jié)合在一起,并將二者的優(yōu)勢集中在一起,使得系統(tǒng)跨平臺(tái)的使用更加靈活、便捷:混合開發(fā)技術(shù)能夠方便開發(fā)者采用一次性的Web應(yīng)用代碼編寫,就可以在不同終端平臺(tái)進(jìn)行編譯與應(yīng)用,提高了跨平臺(tái)開發(fā)與使用效率;能夠方便不同的Web開發(fā)人員對移動(dòng)終端的跨平臺(tái)應(yīng)用進(jìn)行編輯;對于移動(dòng)應(yīng)用Web服務(wù)器,采用混合編輯技術(shù)可以方便開發(fā)者對系統(tǒng)API進(jìn)行封裝,可以調(diào)用任何一個(gè)智能終端上的系統(tǒng),就能夠有效的克服HTML5跨平臺(tái)封裝的缺陷。
混合應(yīng)用開發(fā)與其他開發(fā)技術(shù)的區(qū)別在于系統(tǒng)對終端的跨平臺(tái)調(diào)用是通過JavaScript調(diào)用自行封裝的功能實(shí)現(xiàn),也可采用第三方插件對系統(tǒng)API的封裝來實(shí)現(xiàn)。而且,運(yùn)用混合應(yīng)用程序技術(shù),在系統(tǒng)的終端可以實(shí)現(xiàn)對HTML5、CSS3、JavaScript以及系統(tǒng)API的封裝,對系統(tǒng)的UI展現(xiàn)及其動(dòng)態(tài)效果,也是采用基于HTML5的移動(dòng)Web技術(shù)應(yīng)用的Webkit內(nèi)核的解析實(shí)現(xiàn),,在移動(dòng)應(yīng)用的服務(wù)端通過部署的構(gòu)Web Service接口實(shí)現(xiàn)對系統(tǒng)服務(wù)器數(shù)據(jù)的調(diào)用,并通過Ajax與終端程序數(shù)據(jù)的交互來實(shí)現(xiàn)。具體的系統(tǒng)架構(gòu)如圖2所示:
跨平臺(tái)開發(fā)框架?;赪eb技術(shù)的跨平臺(tái)開發(fā)框架需要為各種平臺(tái)提供API功能,以保證程序開發(fā)者在開發(fā)的過程中不必考慮各種終端平臺(tái)的API類別與原生態(tài)開發(fā)語言的種類,方便程序開發(fā)者通過Web就能夠?qū)崿F(xiàn)跨平臺(tái)的混合開發(fā)。目前,常用的跨平臺(tái)開發(fā)框架有phoneGap, AppCan,WAC Widgeto等開發(fā)系統(tǒng),它們可以幫助程序開發(fā)者通過普通的Web技術(shù)進(jìn)行程序開發(fā),快速的創(chuàng)建跨平臺(tái)的移動(dòng)應(yīng)用程序的混合應(yīng)用程序開發(fā)數(shù)據(jù)平臺(tái),它能夠支持iOS,Android,B1ackBerry等相關(guān)的移動(dòng)互聯(lián)網(wǎng)平臺(tái),同時(shí)也能夠支持硬件API功能的攝像頭、通訊錄、衛(wèi)星定位、圖像等職能終端的各種功能。同時(shí),它還擁有豐富的第三方插件,方便用戶根據(jù)自己的需要對系統(tǒng)的功能進(jìn)行擴(kuò)展,并且在開發(fā)的過程中,主要采用的開源MIT許可證。例如,國產(chǎn)開發(fā)平臺(tái)AppCan是典型的混合技術(shù)開發(fā)平臺(tái),也支持多種移動(dòng)互聯(lián)的跨平臺(tái)應(yīng)用的主流平臺(tái),主要用于解決基于HTML5移動(dòng)數(shù)據(jù)應(yīng)用的不流暢與體驗(yàn)差的情況,使得用戶體驗(yàn)基本上能夠接近與原生態(tài)程序開發(fā)的用戶體驗(yàn)。
跨平臺(tái)混合應(yīng)用開發(fā)。基于HTML5的移動(dòng)Web跨平臺(tái)開發(fā)技術(shù)可以顯著的提高用戶程序開發(fā)的效率,而PhoneGap等跨平臺(tái)開發(fā)框架提高程序開發(fā)的穩(wěn)定性與兼容性,有效的避免了混合開發(fā)應(yīng)用中的原生態(tài)程序開發(fā)的復(fù)雜工作,提高開發(fā)的工作效率。基于HTML5的移動(dòng)Web開發(fā)框架和跨平臺(tái)的混合開發(fā)與應(yīng)用,系統(tǒng)的功能明顯的增強(qiáng),降低程序開發(fā)的費(fèi)用?;贖TNL5的移動(dòng)Web跨平臺(tái)開發(fā)在構(gòu)架系統(tǒng)的應(yīng)用界面與業(yè)務(wù)邏輯等方面有著獨(dú)特的特征,可以針對不同的終端平臺(tái)系統(tǒng)對API進(jìn)行封裝,為Web技術(shù)開發(fā)的移動(dòng)應(yīng)用提供了統(tǒng)一的JavaScript接口,支持原生態(tài)開發(fā)的跨平臺(tái)API的應(yīng)用,有利于增強(qiáng)用戶在跨平臺(tái)應(yīng)用中的體驗(yàn)。具體的開發(fā)框架見下圖3所示:
隨著智能終端與移動(dòng)互聯(lián)網(wǎng)的快速發(fā)展,移動(dòng)上網(wǎng)的費(fèi)用與運(yùn)營成本也越來越低,人們對移動(dòng)上網(wǎng)的業(yè)務(wù)需求也變得多元化,這樣就促進(jìn)了基于HTML5的移動(dòng)Web快平臺(tái)開發(fā)技術(shù)的產(chǎn)生,并能夠?qū)⒒旌祥_發(fā)技術(shù)與跨平臺(tái)的應(yīng)用結(jié)合在一起,進(jìn)而也推進(jìn)了移動(dòng)互聯(lián)網(wǎng)的發(fā)展。
隨著通信技術(shù)的發(fā)展,移動(dòng)終端瀏覽器對HTML5標(biāo)準(zhǔn)與運(yùn)行效率也會(huì)不斷的提升,這樣就會(huì)促進(jìn)移動(dòng)互聯(lián)網(wǎng)跨平臺(tái)混合應(yīng)用技術(shù)的發(fā)展,有可能替代原生應(yīng)用開發(fā)技術(shù),提升跨平臺(tái)開發(fā)的效率,成為未來移動(dòng)互聯(lián)網(wǎng)跨平臺(tái)開發(fā)的首要技術(shù)。
(作者單位 : 湖北鄂州職業(yè)大學(xué)商學(xué)院 )