• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      移動(dòng)互聯(lián)網(wǎng)應(yīng)用跨平臺(tái)開(kāi)發(fā)研究

      2016-07-31 21:10:14王子新
      數(shù)碼世界 2016年3期
      關(guān)鍵詞:跨平臺(tái)開(kāi)發(fā)技術(shù)瀏覽器

      移動(dòng)互聯(lián)網(wǎng)應(yīng)用跨平臺(tái)開(kāi)發(fā)研究

      1 前言

      隨著移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)持續(xù)快速的發(fā)展,以及智能手機(jī)、平板、智能電視等智能終端設(shè)備的普及,移動(dòng)互聯(lián)網(wǎng)應(yīng)用獲得了爆炸式增長(zhǎng)。面對(duì)未來(lái)的廣闊市場(chǎng),運(yùn)營(yíng)商、互聯(lián)網(wǎng)、設(shè)備生產(chǎn)商等產(chǎn)業(yè)巨頭紛紛構(gòu)建了移動(dòng)互聯(lián)網(wǎng)生態(tài)鏈,其中蘋果App Store成功創(chuàng)造了移動(dòng)互聯(lián)網(wǎng)應(yīng)用商業(yè)模式,激發(fā)出了廣大開(kāi)發(fā)者進(jìn)行移動(dòng)互聯(lián)網(wǎng)應(yīng)用創(chuàng)作的極大熱情。

      移動(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ǔ)言,微軟Windows Phone系統(tǒng)支持使用C#語(yǔ)言)編寫(xiě),軟件直接運(yùn)行在操作系統(tǒng)之上。

      原生應(yīng)用可以完全利用終端操作系統(tǒng)的API和平臺(tái)特性,具有開(kāi)發(fā)能力強(qiáng)、交互性好、效率高等優(yōu)點(diǎn)。由于原生應(yīng)用通常需要依靠廠商提供的特定開(kāi)發(fā)語(yǔ)言和開(kāi)發(fā)工具進(jìn)行軟件開(kāi)發(fā),因而一款移動(dòng)互聯(lián)網(wǎng)應(yīng)用若要覆蓋多種移動(dòng)終端平臺(tái),開(kāi)發(fā)者需要花費(fèi)大量的時(shí)間和精力進(jìn)行跨平臺(tái)的開(kāi)發(fā)移植工作,導(dǎo)致應(yīng)用開(kāi)發(fā)周期長(zhǎng)、開(kāi)發(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)開(kāi)發(fā),運(yùn)行于終端瀏覽器之上,具有開(kāi)發(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)開(kāi)發(fā)技術(shù)

      為了滿足開(kāi)發(fā)者進(jìn)行跨平臺(tái)移動(dòng)互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)的需要,盡量減少針對(duì)不同的終端平臺(tái)進(jìn)行的二次開(kāi)發(fā)和適配工作,出現(xiàn)了兩類主要的跨平臺(tái)開(kāi)發(fā)技術(shù):基于HTML5的移動(dòng)Web應(yīng)用開(kāi)發(fā)與混合應(yīng)用(Hybird App)開(kāi)發(fā)。

      2.1 基于HTML5的移動(dòng)Web應(yīng)用開(kāi)發(fā)

      基于HTML5的移動(dòng)Web應(yīng)用開(kāi)發(fā),繼承了前述移動(dòng)Web應(yīng)用的開(kāi)發(fā)簡(jiǎn)單、跨平臺(tái)適配的優(yōu)點(diǎn),并通過(guò)HTML5支持的Geolocation、Vibration、Battery Status等跨平臺(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)的。

      移動(dòng)互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)通常需要充分調(diào)用終端的硬件能力,但由于HTML5標(biāo)準(zhǔn)還未完成制定,因而各種移動(dòng)終端瀏覽器對(duì)HTML5支持程度還有很大差別,無(wú)法保證良好的跨平臺(tái)硬件能力調(diào)用。

      鑒于上述原因,為了充分發(fā)揮Web應(yīng)用開(kāi)發(fā)的跨平臺(tái)特性和原生應(yīng)用開(kāi)發(fā)自由調(diào)用系統(tǒng)API的特性,出現(xiàn)了結(jié)合兩者優(yōu)點(diǎn)的混合應(yīng)用開(kāi)發(fā)技術(shù)。

      2.2 混合應(yīng)用開(kāi)發(fā)

      混合應(yīng)用開(kāi)發(fā)彌補(bǔ)了原生應(yīng)用開(kāi)發(fā)和移動(dòng)Web應(yīng)用開(kāi)發(fā)模式各自的缺陷,繼承了雙方各自的優(yōu)勢(shì)。首先,它讓開(kāi)發(fā)者通過(guò)一次性的Web應(yīng)用代碼編寫(xiě),即可編譯成多種類型終端平臺(tái)上的應(yīng)用程序,大大提高了多平臺(tái)開(kāi)發(fā)的效率。其次,它可讓為數(shù)眾多的Web開(kāi)發(fā)人員以幾乎零成本轉(zhuǎn)型為移動(dòng)應(yīng)用開(kāi)發(fā)者。另外,相對(duì)于移動(dòng)Web應(yīng)用,混合應(yīng)用開(kāi)發(fā)者可以自行進(jìn)行系統(tǒng)API封裝,調(diào)用任何期望的系統(tǒng)能力,這可以在很大程度上克服目前HTML5跨平臺(tái)API匱乏的缺陷。

      混合應(yīng)用開(kāi)發(fā)與基于HTML5的移動(dòng)Web應(yīng)用開(kāi)發(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ù)器主要部署Web Service接口,終端程序通過(guò)Ajax與其進(jìn)行數(shù)據(jù)交互。

      3 移動(dòng)互聯(lián)網(wǎng)應(yīng)用跨平臺(tái)開(kāi)發(fā)

      隨著智能終端的迅速普及推廣,進(jìn)行高效率、低成本的跨平臺(tái)移動(dòng)互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)的需要日益迫切,因而出現(xiàn)了眾多跨平臺(tái)框架。這些框架主要分為兩類:移動(dòng)Web開(kāi)發(fā)框架和跨平臺(tái)開(kāi)發(fā)框架。通過(guò)這兩類開(kāi)發(fā)框架的組合運(yùn)用,可以實(shí)現(xiàn)更加快捷高效的跨平臺(tái)混合應(yīng)用開(kāi)發(fā)。

      3.1 移動(dòng)Web開(kāi)發(fā)框架

      移動(dòng)Web開(kāi)發(fā)框架主要用于構(gòu)建運(yùn)行于移動(dòng)終端Web瀏覽器中的跨平臺(tái)界面(HTML、JavaScript、CSS)。移動(dòng)Web開(kāi)發(fā)框架眾多,包括jQuery Mobile、Sencha Touch、iWebKit、Safire、WebApp.Net、Dojo Toolkit等,常用的移動(dòng)Web開(kāi)發(fā)框架包括jQuery Mobile和Sencha Touch,兩者均支持HTML5。

      jQuery Mobile建立在jQuery和jQuery UI框架之上,為移動(dòng)設(shè)備上的移動(dòng)互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)提供jQuery核心庫(kù)和jQuery移動(dòng)UI框架。它繼承了jQuery支持多瀏覽器的特性,支持iOS、Android、BlackBerry、Palm WebOS、Symbian、Windows Phone、bada、MeeGo等主流移動(dòng)平臺(tái)。Sencha Touch由基于JavaScript編寫(xiě)的Ajax框架ExtJS,整合JQTouch、Rapha?l庫(kù)而來(lái)。它繼承了ExtJS的優(yōu)點(diǎn),提供針對(duì)觸摸屏的豐富的UI布局解決方案,支持復(fù)雜交互,目前支持iOS、Android、BlackBerry、Windows Phone平臺(tái)。

      與Sencha Touch相對(duì)比,jQuery Mobile屬于輕量級(jí)框架,支持的UI復(fù)雜度較低,但它開(kāi)發(fā)門檻低,支持更多移動(dòng)平臺(tái)。因而,jQuery Mobile更適合交互較為簡(jiǎn)單的移動(dòng)互聯(lián)網(wǎng)應(yīng)用的開(kāi)發(fā),而Sencha Touch更適合面向特定行業(yè)的有豐富交互需求的產(chǎn)品化應(yīng)用的開(kāi)發(fā),如企業(yè)辦公系統(tǒng)和移動(dòng)信息化應(yīng)用。

      3.2 跨平臺(tái)開(kāi)發(fā)框架

      跨平臺(tái)開(kāi)發(fā)框架主要用于提供跨平臺(tái)API,讓開(kāi)發(fā)者不必關(guān)心各終端平臺(tái)的系統(tǒng)API和原生開(kāi)發(fā)語(yǔ)言,通過(guò)Web開(kāi)發(fā)就可以完成跨平臺(tái)混合應(yīng)用的開(kāi)發(fā)。國(guó)內(nèi)常用的跨平臺(tái)開(kāi)發(fā)框架包括phoneGap、AppCan、WAC Widget。

      PhoneGap是一個(gè)讓開(kāi)發(fā)者通過(guò)普通的Web技術(shù)編程,快速創(chuàng)建跨平臺(tái)移動(dòng)應(yīng)用程序的混合應(yīng)用開(kāi)發(fā)平臺(tái)。它支持iOS、Android、BlackBerry、Palm WebOS、Symbian、Windows Phone、bada等主流移動(dòng)平臺(tái),支持的硬件API包括重力感應(yīng)、攝像頭、通訊錄、文檔、地理定位、聲音和振動(dòng)等。此外,它還擁有豐富的第三方插件,功能可以無(wú)限擴(kuò)展,并且采用開(kāi)源MIT許可證。

      AppCan是國(guó)產(chǎn)的混合應(yīng)用開(kāi)發(fā)平臺(tái),它著重解決了基于HTML5的移動(dòng)應(yīng)用不流暢和體驗(yàn)差的問(wèn)題,使得基于AppCan開(kāi)發(fā)的HTML5移動(dòng)應(yīng)用的用戶體驗(yàn)基本接近原生應(yīng)用的體驗(yàn)。它支持iOS、Android、Windows Phone等主流移動(dòng)平臺(tái)。

      WAC Widget是一種可運(yùn)行在移動(dòng)設(shè)備上的Widget開(kāi)發(fā)框架,它支持標(biāo)準(zhǔn)Web技術(shù)開(kāi)發(fā),支持iOS、Android、Symbian、Windows Phone等主流移動(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)用開(kāi)發(fā)

      移動(dòng)Web開(kāi)發(fā)框架可以顯著提高移動(dòng)Web應(yīng)用的開(kāi)發(fā)效率,而PhoneGap等跨平臺(tái)開(kāi)發(fā)框架可以減少甚至避免混合應(yīng)用開(kāi)發(fā)中的原生開(kāi)發(fā)的工作。在移動(dòng)互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)中,跨平臺(tái)開(kāi)發(fā)比原生開(kāi)發(fā)擁有更高的開(kāi)發(fā)效率;而基于移動(dòng)Web開(kāi)發(fā)框架和跨平臺(tái)開(kāi)發(fā)框架的跨平臺(tái)混合應(yīng)用開(kāi)發(fā),可以進(jìn)一步提高應(yīng)用開(kāi)發(fā)效率,顯著降低開(kāi)發(fā)成本。

      跨平臺(tái)混合應(yīng)用開(kāi)發(fā)主要分為移動(dòng)Web開(kāi)發(fā)和原生開(kāi)發(fā)兩部分工作,移動(dòng)Web開(kāi)發(fā)主要用于構(gòu)建混合應(yīng)用的界面和業(yè)務(wù)邏輯等,而原生開(kāi)發(fā)主要是針對(duì)不同終端系統(tǒng)平臺(tái)進(jìn)行跨平臺(tái)API的封裝,為基于Web技術(shù)開(kāi)發(fā)的移動(dòng)應(yīng)用提供統(tǒng)一的JavaScript接口。

      基于HTML5的移動(dòng)Web開(kāi)發(fā)和跨平臺(tái)混合應(yīng)用開(kāi)發(fā)兩類跨平臺(tái)開(kāi)發(fā)技術(shù),兩者的共同基礎(chǔ)是Web開(kāi)發(fā),不同點(diǎn)是前者通過(guò)HTML5標(biāo)準(zhǔn)支持跨平臺(tái)API,后者通過(guò)終端原生開(kāi)發(fā)支持跨平臺(tái)API。

      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)開(kāi)發(fā)技術(shù)。而移動(dòng)Web開(kāi)發(fā)框架和跨平臺(tái)開(kāi)發(fā)框架的出現(xiàn),進(jìn)一步推動(dòng)了移動(dòng)互聯(lián)網(wǎng)應(yīng)用跨平臺(tái)開(kā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)開(kāi)發(fā)技術(shù)將會(huì)獲得迅猛發(fā)展,完全有可能替代原生應(yīng)用開(kāi)發(fā)技術(shù),成為移動(dòng)互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)的首要技術(shù)。

      [1]Sarah Allen, Vidal Graupera, Lee Lundrigan. 智能手機(jī)跨平臺(tái)開(kāi)發(fā)高級(jí)教程[M]. 北京: 清華大學(xué)出版社, 2011.

      [2]陳樺,杜啟宏,程剛. 移動(dòng)智能終端Web應(yīng)用平臺(tái)開(kāi)發(fā)技術(shù)研究[J]. 移動(dòng)通信, 2013(5): 23-26.

      [3]楊曉華,程寶平,朱春梅. Mobile Widget——新一代移動(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.

      [5]胡世良. 移動(dòng)互聯(lián)網(wǎng)軟硬一體化商業(yè)模式探析[J]. 移動(dòng)通信, 2013(9): 56-59.

      猜你喜歡
      跨平臺(tái)開(kāi)發(fā)技術(shù)瀏覽器
      反瀏覽器指紋追蹤
      電子制作(2019年10期)2019-06-17 11:45:14
      跨平臺(tái)APEX接口組件的設(shè)計(jì)與實(shí)現(xiàn)
      計(jì)算機(jī)應(yīng)用軟件開(kāi)發(fā)技術(shù)的幾點(diǎn)探討
      電子制作(2017年14期)2017-12-18 07:08:10
      防散脫緯編無(wú)痕彈力面料開(kāi)發(fā)技術(shù)國(guó)際領(lǐng)先
      環(huán)球?yàn)g覽器
      再見(jiàn),那些年我們嘲笑過(guò)的IE瀏覽器
      基于QT的跨平臺(tái)輸電鐵塔監(jiān)控終端軟件設(shè)計(jì)與實(shí)現(xiàn)
      基于OPC跨平臺(tái)通信的電機(jī)監(jiān)測(cè)與診斷系統(tǒng)
      基于B/S的跨平臺(tái)用戶界面可配置算法研究
      中國(guó)煤層氣開(kāi)發(fā)技術(shù)的現(xiàn)狀與未來(lái)
      临漳县| 昆明市| 高台县| 平顺县| 连城县| 富平县| 贡觉县| 阳新县| 宁远县| 东兴市| 塔城市| 绵阳市| 平定县| 依安县| 凌源市| 涞水县| 侯马市| 东台市| 镶黄旗| 三都| 定南县| 社会| 林周县| 湖南省| 平乡县| 田林县| 合水县| 潢川县| 上林县| 昌图县| 遂平县| 普格县| 金门县| 安国市| 沙雅县| 搜索| 广元市| 新津县| 攀枝花市| 茂名市| 龙口市|