所屬欄目:計(jì)算機(jī)網(wǎng)絡(luò)論文 發(fā)布日期:2017-04-26 11:36 熱度:
移動(dòng)互聯(lián)網(wǎng)近些年發(fā)展快速,尤其隨著智能手機(jī)、平板電腦等移動(dòng)終端的普及,移動(dòng)網(wǎng)絡(luò)技術(shù)更是勢(shì)不可擋,隨著技術(shù)的發(fā)展,跨平臺(tái)開發(fā)技術(shù)日漸成熟,本文主要研究移動(dòng)互聯(lián)網(wǎng)跨平臺(tái)開發(fā)。
《互聯(lián)網(wǎng)天地》是中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)刊,由工業(yè)和信息化部主管,中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)和人民郵電出版社聯(lián)合主辦,《互聯(lián)網(wǎng)天地》雜志社編輯出版。以介紹互聯(lián)網(wǎng)新技術(shù)、新業(yè)務(wù)及網(wǎng)絡(luò)通信業(yè)發(fā)展新態(tài)勢(shì)為主,同時(shí)涵蓋行業(yè)企業(yè)動(dòng)態(tài)、互聯(lián)網(wǎng)新銳人物介紹、國(guó)外同業(yè)動(dòng)態(tài)等。本刊是面向網(wǎng)絡(luò)通信行業(yè)中層以上管理人員的行業(yè)媒體。
為了滿足移動(dòng)互聯(lián)網(wǎng)應(yīng)用低成本運(yùn)營(yíng)的需求,在介紹移動(dòng)互聯(lián)網(wǎng)應(yīng)用現(xiàn)狀的基礎(chǔ)上,著重分析了兩類主要的移動(dòng)應(yīng)用跨平臺(tái)開發(fā)技術(shù),接著介紹了五種支持應(yīng)用高效開發(fā)的跨平臺(tái)框架,探討了進(jìn)行高效跨平臺(tái)開發(fā)的方法,及跨平臺(tái)框架與兩類跨平臺(tái)開發(fā)技術(shù)之間的關(guān)系。
1前言
移動(dòng)互聯(lián)網(wǎng)應(yīng)用形態(tài)主要分為原生應(yīng)用和移動(dòng)Web應(yīng)用兩大類。這兩種形態(tài)的移動(dòng)互聯(lián)網(wǎng)應(yīng)用,我們暫且可以理解為PC平臺(tái)上的C/S架構(gòu)應(yīng)用和B/S架構(gòu)應(yīng)用,它們有著各自的優(yōu)缺點(diǎn)。
目前,運(yùn)行在移動(dòng)終端上的應(yīng)用大多都是原生應(yīng)用,它通過(guò)終端操作系統(tǒng)支持的程序語(yǔ)言(如蘋果iOS系統(tǒng)支持使用Objective-C語(yǔ)言,谷歌Android系統(tǒng)支持使用Java語(yǔ)言,微軟WindowsPhone系統(tǒng)支持使用C#語(yǔ)言)編寫,軟件直接運(yùn)行在操作系統(tǒng)之上。原生應(yīng)用可以完全利用終端操作系統(tǒng)的API和平臺(tái)特性,具有開發(fā)能力強(qiáng)、交互性好、效率高等優(yōu)點(diǎn)。由于原生應(yīng)用通常需要依靠廠商提供的特定開發(fā)語(yǔ)言和開發(fā)工具進(jìn)行軟件開發(fā),因而一款移動(dòng)互聯(lián)網(wǎng)應(yīng)用若要覆蓋多種移動(dòng)終端平臺(tái),開發(fā)者需要花費(fèi)大量的時(shí)間和精力進(jìn)行跨平臺(tái)的開發(fā)移植工作,導(dǎo)致應(yīng)用開發(fā)周期長(zhǎng)、開發(fā)門檻高等問(wèn)題。
移動(dòng)Web應(yīng)用,簡(jiǎn)單理解就是針對(duì)移動(dòng)終端優(yōu)化過(guò)的Web網(wǎng)站,采用網(wǎng)頁(yè)語(yǔ)言(HTML、JavaScript、CSS)開發(fā),運(yùn)行于終端瀏覽器之上,具有開發(fā)簡(jiǎn)單、跨平臺(tái)適配等優(yōu)點(diǎn)。缺點(diǎn)是應(yīng)用基于瀏覽器,無(wú)法調(diào)用系統(tǒng)API(如手機(jī)的重力感器、攝像頭等API)來(lái)實(shí)現(xiàn)一些高級(jí)功能,也不適合高性能要求的場(chǎng)合。
2智能終端跨平臺(tái)開發(fā)技術(shù)
為了滿足開發(fā)者進(jìn)行跨平臺(tái)移動(dòng)互聯(lián)網(wǎng)應(yīng)用開發(fā)的需要,盡量減少針對(duì)不同的終端平臺(tái)進(jìn)行的二次開發(fā)和適配工作,出現(xiàn)了兩類主要的跨平臺(tái)開發(fā)技術(shù):基于HTML5的移動(dòng)Web應(yīng)用開發(fā)與混合應(yīng)用(HybirdApp)開發(fā)。
2.1基于HTML5的移動(dòng)Web應(yīng)用開發(fā)
基于HTML5的移動(dòng)Web應(yīng)用開發(fā),繼承了前述移動(dòng)Web應(yīng)用的開發(fā)簡(jiǎn)單、跨平臺(tái)適配的優(yōu)點(diǎn),并通過(guò)HTML5支持的Geolocation、Vibration、BatteryStatus等跨平臺(tái)API,實(shí)現(xiàn)對(duì)終端硬件的調(diào)用,從而可以實(shí)現(xiàn)部分原來(lái)只能通過(guò)原生應(yīng)用才能實(shí)現(xiàn)的復(fù)雜功能。
移動(dòng)Web應(yīng)用部署于Web服務(wù)器,移動(dòng)終端通過(guò)瀏覽器訪問(wèn)應(yīng)用時(shí),服務(wù)器以HTML5、CSS3和JavaScript形式的數(shù)據(jù)響應(yīng)瀏覽器的請(qǐng)求。應(yīng)用的UI展現(xiàn)及其動(dòng)態(tài)切換效果,是通過(guò)Webkit內(nèi)核對(duì)HTML5、CSS3和JavaScript的解析實(shí)現(xiàn)的,應(yīng)用對(duì)終端硬件的跨平臺(tái)調(diào)用是通過(guò)瀏覽器提供的JavaScript擴(kuò)展API實(shí)現(xiàn)的。其架構(gòu)如圖1所示:
移動(dòng)互聯(lián)網(wǎng)應(yīng)用開發(fā)通常需要充分調(diào)用終端的硬件能力,但由于HTML5標(biāo)準(zhǔn)還未完成制定,因而各種移動(dòng)終端瀏覽器對(duì)HTML5支持程度還有很大差別,無(wú)法保證良好的跨平臺(tái)硬件能力調(diào)用。
鑒于上述原因,為了充分發(fā)揮Web應(yīng)用開發(fā)的跨平臺(tái)特性和原生應(yīng)用開發(fā)自由調(diào)用系統(tǒng)API的特性,出現(xiàn)了結(jié)合兩者優(yōu)點(diǎn)的混合應(yīng)用開發(fā)技術(shù)。
2.2混合應(yīng)用開發(fā)
混合應(yīng)用開發(fā)彌補(bǔ)了原生應(yīng)用開發(fā)和移動(dòng)Web應(yīng)用開發(fā)模式各自的缺陷,繼承了雙方各自的優(yōu)勢(shì)。首先,它讓開發(fā)者通過(guò)一次性的Web應(yīng)用代碼編寫,即可編譯成多種類型終端平臺(tái)上的應(yīng)用程序,大大提高了多平臺(tái)開發(fā)的效率。其次,它可讓為數(shù)眾多的Web開發(fā)人員以幾乎零成本轉(zhuǎn)型為移動(dòng)應(yīng)用開發(fā)者。另外,相對(duì)于移動(dòng)Web應(yīng)用,混合應(yīng)用開發(fā)者可以自行進(jìn)行系統(tǒng)API封裝,調(diào)用任何期望的系統(tǒng)能力,這可以在很大程度上克服目前HTML5跨平臺(tái)API匱乏的缺陷。
混合應(yīng)用開發(fā)與基于HTML5的移動(dòng)Web應(yīng)用開發(fā)的區(qū)別主要在于,應(yīng)用對(duì)終端硬件的跨平臺(tái)調(diào)用是通過(guò)JavaScript調(diào)用自行封裝或者由第三方插件封裝的系統(tǒng)API實(shí)現(xiàn)的。另外,混合應(yīng)用程序,包括HTML、CSS、JavaScript和系統(tǒng)API封裝等都是部署于終端側(cè)的,應(yīng)用的UI展現(xiàn)及其動(dòng)態(tài)切換效果,同樣是通過(guò)Webkit內(nèi)核的解析實(shí)現(xiàn),構(gòu)建出類似Web應(yīng)用的移動(dòng)應(yīng)用UI。而Web服務(wù)器主要部署WebService接口,終端程序通過(guò)Ajax與其進(jìn)行數(shù)據(jù)交互。其架構(gòu)如圖2所示:
3移動(dòng)互聯(lián)網(wǎng)應(yīng)用跨平臺(tái)開發(fā)
隨著智能終端的迅速普及推廣,進(jìn)行高效率、低成本的跨平臺(tái)移動(dòng)互聯(lián)網(wǎng)應(yīng)用開發(fā)的需要日益迫切,因而出現(xiàn)了眾多跨平臺(tái)框架。這些框架主要分為兩類:移動(dòng)Web開發(fā)框架和跨平臺(tái)開發(fā)框架。通過(guò)這兩類開發(fā)框架的組合運(yùn)用,可以實(shí)現(xiàn)更加快捷高效的跨平臺(tái)混合應(yīng)用開發(fā)。
3.1移動(dòng)Web開發(fā)框架
移動(dòng)Web開發(fā)框架主要用于構(gòu)建運(yùn)行于移動(dòng)終端Web瀏覽器中的跨平臺(tái)界面(HTML、JavaScript、CSS)。移動(dòng)Web開發(fā)框架眾多,包括jQueryMobile、SenchaTouch、iWebKit、Safire、WebApp.Net、DojoToolkit等,常用的移動(dòng)Web開發(fā)框架包括jQueryMobile和SenchaTouch,兩者均支持HTML5。
jQueryMobile建立在jQuery和jQueryUI框架之上,為移動(dòng)設(shè)備上的移動(dòng)互聯(lián)網(wǎng)應(yīng)用開發(fā)提供jQuery核心庫(kù)和jQuery移動(dòng)UI框架。它繼承了jQuery支持多瀏覽器的特性,支持iOS、Android、BlackBerry、PalmWebOS、Symbian、WindowsPhone、bada、MeeGo等主流移動(dòng)平臺(tái)。SenchaTouch由基于JavaScript編寫的Ajax框架ExtJS,整合JQTouch、Rapha?l庫(kù)而來(lái)。它繼承了ExtJS的優(yōu)點(diǎn),提供針對(duì)觸摸屏的豐富的UI布局解決方案,支持復(fù)雜交互,目前支持iOS、Android、BlackBerry、WindowsPhone平臺(tái)。
與SenchaTouch相對(duì)比,jQueryMobile屬于輕量級(jí)框架,支持的UI復(fù)雜度較低,但它開發(fā)門檻低,支持更多移動(dòng)平臺(tái)。因而,jQueryMobile更適合交互較為簡(jiǎn)單的移動(dòng)互聯(lián)網(wǎng)應(yīng)用的開發(fā),而SenchaTouch更適合面向特定行業(yè)的有豐富交互需求的產(chǎn)品化應(yīng)用的開發(fā),如企業(yè)辦公系統(tǒng)和移動(dòng)信息化應(yīng)用。
3.2跨平臺(tái)開發(fā)框架
跨平臺(tái)開發(fā)框架主要用于提供跨平臺(tái)API,讓開發(fā)者不必關(guān)心各終端平臺(tái)的系統(tǒng)API和原生開發(fā)語(yǔ)言,通過(guò)Web開發(fā)就可以完成跨平臺(tái)混合應(yīng)用的開發(fā)。國(guó)內(nèi)常用的跨平臺(tái)開發(fā)框架包括phoneGap、AppCan、WACWidget。
PhoneGap是一個(gè)讓開發(fā)者通過(guò)普通的Web技術(shù)編程,快速創(chuàng)建跨平臺(tái)移動(dòng)應(yīng)用程序的混合應(yīng)用開發(fā)平臺(tái)。它支持iOS、Android、BlackBerry、PalmWebOS、Symbian、WindowsPhone、bada等主流移動(dòng)平臺(tái),支持的硬件API包括重力感應(yīng)、攝像頭、通訊錄、文檔、地理定位、聲音和振動(dòng)等。此外,它還擁有豐富的第三方插件,功能可以無(wú)限擴(kuò)展,并且采用開源MIT許可證。
AppCan是國(guó)產(chǎn)的混合應(yīng)用開發(fā)平臺(tái),它著重解決了基于HTML5的移動(dòng)應(yīng)用不流暢和體驗(yàn)差的問(wèn)題,使得基于AppCan開發(fā)的HTML5移動(dòng)應(yīng)用的用戶體驗(yàn)基本接近原生應(yīng)用的體驗(yàn)。它支持iOS、Android、WindowsPhone等主流移動(dòng)平臺(tái)。
WACWidget是一種可運(yùn)行在移動(dòng)設(shè)備上的Widget開發(fā)框架,它支持標(biāo)準(zhǔn)Web技術(shù)開發(fā),支持iOS、Android、Symbian、WindowsPhone等主流移動(dòng)平臺(tái),通過(guò)它定義的一套完整的API可以訪問(wèn)移動(dòng)終端系統(tǒng)和網(wǎng)絡(luò)側(cè)平臺(tái),例如語(yǔ)音呼叫、通信錄、文件操作、系統(tǒng)軟硬件信息、拍照、重力感應(yīng)、位置服務(wù)等。它是由W3C著手制定的一套Widget系列規(guī)范,獲得了全球眾多運(yùn)營(yíng)商、廠商的廣泛支持。
3.3跨平臺(tái)混合應(yīng)用開發(fā)
移動(dòng)Web開發(fā)框架可以顯著提高移動(dòng)Web應(yīng)用的開發(fā)效率,而PhoneGap等跨平臺(tái)開發(fā)框架可以減少甚至避免混合應(yīng)用開發(fā)中的原生開發(fā)的工作。在移動(dòng)互聯(lián)網(wǎng)應(yīng)用開發(fā)中,跨平臺(tái)開發(fā)比原生開發(fā)擁有更高的開發(fā)效率;而基于移動(dòng)Web開發(fā)框架和跨平臺(tái)開發(fā)框架的跨平臺(tái)混合應(yīng)用開發(fā),可以進(jìn)一步提高應(yīng)用開發(fā)效率,顯著降低開發(fā)成本。
跨平臺(tái)混合應(yīng)用開發(fā)主要分為移動(dòng)Web開發(fā)和原生開發(fā)兩部分工作,移動(dòng)Web開發(fā)主要用于構(gòu)建混合應(yīng)用的界面和業(yè)務(wù)邏輯等,而原生開發(fā)主要是針對(duì)不同終端系統(tǒng)平臺(tái)進(jìn)行跨平臺(tái)API的封裝,為基于Web技術(shù)開發(fā)的移動(dòng)應(yīng)用提供統(tǒng)一的JavaScript接口。
基于HTML5的移動(dòng)Web開發(fā)和跨平臺(tái)混合應(yīng)用開發(fā)兩類跨平臺(tái)開發(fā)技術(shù),兩者的共同基礎(chǔ)是Web開發(fā),不同點(diǎn)是前者通過(guò)HTML5標(biāo)準(zhǔn)支持跨平臺(tái)API,后者通過(guò)終端原生開發(fā)支持跨平臺(tái)API。跨平臺(tái)混合應(yīng)用開發(fā)框架與移動(dòng)Web開發(fā)框架的關(guān)系如圖3所示。
4結(jié)束語(yǔ)
隨著移動(dòng)互聯(lián)網(wǎng)的飛速發(fā)展、智能終端的迅速普及,移動(dòng)互聯(lián)網(wǎng)應(yīng)用低成本運(yùn)營(yíng)的需求日益強(qiáng)烈,這就催生了基于HTML5的移動(dòng)Web應(yīng)用和混合應(yīng)用兩類跨平臺(tái)開發(fā)技術(shù)。而移動(dòng)Web開發(fā)框架和跨平臺(tái)開發(fā)框架的出現(xiàn),進(jìn)一步推動(dòng)了移動(dòng)互聯(lián)網(wǎng)應(yīng)用跨平臺(tái)開發(fā)技術(shù)的發(fā)展。
相信在不遠(yuǎn)的將來(lái),隨著移動(dòng)終端瀏覽器對(duì)HTML5標(biāo)準(zhǔn)支持度和運(yùn)行效率的迅速提高,移動(dòng)互聯(lián)網(wǎng)應(yīng)用跨平臺(tái)開發(fā)技術(shù)將會(huì)獲得迅猛發(fā)展,完全有可能替代原生應(yīng)用開發(fā)技術(shù),成為移動(dòng)互聯(lián)網(wǎng)應(yīng)用開發(fā)的首要技術(shù)。
參考文獻(xiàn):
[1]SarahAllen,VidalGraupera,LeeLundrigan.智能手機(jī)跨平臺(tái)開發(fā)高級(jí)教程[M].北京:清華大學(xué)出版社,2011.
[2]陳樺,杜啟宏,程剛.移動(dòng)智能終端Web應(yīng)用平臺(tái)開發(fā)技術(shù)研究[J].移動(dòng)通信,2013(5):23-26.
[3]楊曉華,程寶平,朱春梅.MobileWidget——新一代移動(dòng)互聯(lián)網(wǎng)應(yīng)用技術(shù)[J].電信技術(shù),2011(2):30-34.
[4]劉春華.基于HTML5的移動(dòng)互聯(lián)網(wǎng)應(yīng)用發(fā)展趨勢(shì)[J].移動(dòng)通信,2013(9):64-68.
文章標(biāo)題:移動(dòng)互聯(lián)網(wǎng)應(yīng)用跨平臺(tái)開發(fā)技術(shù)
轉(zhuǎn)載請(qǐng)注明來(lái)自:http://m.56st48f.cn/fblw/dianxin/wangluo/35604.html
攝影藝術(shù)領(lǐng)域AHCI期刊推薦《Phot...關(guān)注:105
Nature旗下多學(xué)科子刊Nature Com...關(guān)注:152
中小學(xué)教師值得了解,這些教育學(xué)...關(guān)注:47
2025年寫管理學(xué)論文可以用的19個(gè)...關(guān)注:192
測(cè)繪領(lǐng)域科技核心期刊選擇 輕松拿...關(guān)注:64
及時(shí)開論文檢索證明很重要關(guān)注:52
中國(guó)水產(chǎn)科學(xué)期刊是核心期刊嗎關(guān)注:54
國(guó)際出書需要了解的問(wèn)題解答關(guān)注:58
合著出書能否評(píng)職稱?關(guān)注:48
電信學(xué)有哪些可投稿的SCI期刊,值...關(guān)注:66
通信工程行業(yè)論文選題關(guān)注:73
SCIE、ESCI、SSCI和AHCI期刊目錄...關(guān)注:120
評(píng)職稱發(fā)論文好還是出書好關(guān)注:68
復(fù)印報(bào)刊資料重要轉(zhuǎn)載來(lái)源期刊(...關(guān)注:51
英文期刊審稿常見的論文狀態(tài)及其...關(guān)注:69
Web of Science 核心合集期刊評(píng)估...關(guān)注:58
電子信息論文范文
智能科學(xué)技術(shù)論文 廣播電視論文 光電技術(shù)論文 計(jì)算機(jī)信息管理論文 計(jì)算機(jī)網(wǎng)絡(luò)論文 計(jì)算機(jī)應(yīng)用論文 通信論文 信息安全論文 微電子應(yīng)用論文 電子技術(shù)論文 生物醫(yī)學(xué)工程論文 軟件開發(fā)論文
期刊百科問(wèn)答
copyright © m.56st48f.cn, All Rights Reserved
搜論文知識(shí)網(wǎng) 冀ICP備15021333號(hào)-3