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