• 
    

    
    

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

      ?

      跨平臺(tái)應(yīng)用開(kāi)發(fā)技術(shù)研究

      2018-12-21 12:46褚玉曉
      贏未來(lái) 2018年15期
      關(guān)鍵詞:應(yīng)用技術(shù)跨平臺(tái)開(kāi)發(fā)

      褚玉曉

      摘要:目前智能手機(jī)和平板電腦等主流智能終端使用的操作系統(tǒng)包括Android、iOS、Windows Phone 等,各類(lèi)操作系統(tǒng)平臺(tái)在開(kāi)發(fā)語(yǔ)言、開(kāi)發(fā)工具等方面存在差異,導(dǎo)致應(yīng)用移植困難、開(kāi)發(fā)周期長(zhǎng)等問(wèn)題??缙脚_(tái)應(yīng)用開(kāi)發(fā)技術(shù)可以讓開(kāi)發(fā)者一次開(kāi)發(fā)應(yīng)用,運(yùn)行在多終端平臺(tái)下,降低了應(yīng)用開(kāi)發(fā)周期和成本,促進(jìn)移動(dòng)互聯(lián)網(wǎng)應(yīng)用產(chǎn)業(yè)鏈快速發(fā)展。本文分析主流跨平臺(tái)開(kāi)發(fā)技術(shù)現(xiàn)狀,提出下一代跨平臺(tái)開(kāi)發(fā)構(gòu)想,并深入探討其實(shí)現(xiàn)方案,最后展望其后續(xù)發(fā)展前景。

      關(guān)鍵詞: 跨平臺(tái) ;開(kāi)發(fā);應(yīng)用技術(shù)

      據(jù)權(quán)威機(jī)構(gòu)預(yù)測(cè),全球已經(jīng)進(jìn)入了移動(dòng)互聯(lián)網(wǎng)發(fā)展周期的早期階段,未來(lái)幾年內(nèi),通過(guò)移動(dòng)裝置接入互聯(lián)網(wǎng)的用戶(hù)很有可能超過(guò)通過(guò)桌面?zhèn)€人電腦接入互聯(lián)網(wǎng)的用戶(hù),移動(dòng)互聯(lián)網(wǎng)的發(fā)展速度將快于傳統(tǒng)互聯(lián)網(wǎng),其創(chuàng)造的利益也會(huì)遠(yuǎn)遠(yuǎn)超過(guò)傳統(tǒng)互聯(lián)網(wǎng)。面對(duì)這一巨大市場(chǎng),各大產(chǎn)業(yè)巨頭紛紛構(gòu)建了移動(dòng)互聯(lián)網(wǎng)生態(tài)鏈, 以蘋(píng)果為代表的App Store 成功創(chuàng)造了移動(dòng)互聯(lián)網(wǎng)應(yīng)用商業(yè)模式,激發(fā)了廣大開(kāi)發(fā)者的智能終端應(yīng)用創(chuàng)作熱情。

      智能終端應(yīng)用形態(tài)主要分為Web 應(yīng)用和本地應(yīng)用兩類(lèi),Web 應(yīng)用是指運(yùn)行在瀏覽器上的應(yīng)用形態(tài),本地應(yīng)用是指直接運(yùn)行在操作系統(tǒng)之上的應(yīng)用形態(tài)。Web 應(yīng)用采用網(wǎng)頁(yè)語(yǔ)言開(kāi)發(fā),具有開(kāi)發(fā)簡(jiǎn)單、跨平臺(tái)適配等優(yōu)點(diǎn),而本地應(yīng)用一般采用Java、C 等語(yǔ)言開(kāi)發(fā),具有開(kāi)發(fā)能力強(qiáng)、交互性好、效率高等優(yōu)點(diǎn)。同時(shí)這兩種應(yīng)用形態(tài)也不斷融合,從而出現(xiàn)了Widget 此類(lèi)應(yīng)用形態(tài),可采用網(wǎng)頁(yè)語(yǔ)言開(kāi)發(fā),同時(shí)具備本地應(yīng)用的使用形式,并且可以跨平臺(tái)運(yùn)行?,F(xiàn)階段智能終端應(yīng)用形態(tài)以本地應(yīng)用為主,但是Web 應(yīng)用和Widget應(yīng)用隨著HTML5 語(yǔ)言的出現(xiàn)以及智能終端多平臺(tái)的發(fā)展也展現(xiàn)出良好的發(fā)展勢(shì)頭。

      一、主流跨平臺(tái)開(kāi)發(fā)技術(shù)現(xiàn)狀

      前主流的跨終端平臺(tái)開(kāi)發(fā)技術(shù)按照其實(shí)現(xiàn)方式大致可以分為跨平臺(tái)運(yùn)行引擎和跨平臺(tái)應(yīng)用編譯兩種方式:跨平臺(tái)運(yùn)行引擎技術(shù)一般需要在目標(biāo)設(shè)備上安裝一個(gè)引擎,用于屏蔽終端底層操作系統(tǒng)差異,開(kāi)發(fā)者開(kāi)發(fā)應(yīng)用部署或編譯打包后,用戶(hù)下載到目標(biāo)設(shè)備上由引擎解釋執(zhí)行;跨平臺(tái)應(yīng)用編譯通常采用一種標(biāo)準(zhǔn)開(kāi)發(fā)語(yǔ)言開(kāi)發(fā)應(yīng)用,應(yīng)用開(kāi)發(fā)完成后由代碼編譯器針對(duì)不同目標(biāo)終端平臺(tái)分別進(jìn)行編譯,生成有針對(duì)性的可執(zhí)行程序。

      從支持的開(kāi)發(fā)語(yǔ)言來(lái)看,可以分為應(yīng)用開(kāi)發(fā)語(yǔ)言和網(wǎng)頁(yè)開(kāi)發(fā)語(yǔ)言: 開(kāi)發(fā)者可以采用應(yīng)用開(kāi)發(fā)語(yǔ)言(如Java、Delphi 等)開(kāi)發(fā)應(yīng)用,應(yīng)用可以運(yùn)行在引擎或操作系統(tǒng)上;或者開(kāi)發(fā)者可以采用網(wǎng)頁(yè)開(kāi)發(fā)語(yǔ)言(如HTML、CSS、JavaScript)開(kāi)發(fā)應(yīng)用,應(yīng)用可以運(yùn)行在Widget 引擎或操作系統(tǒng)上。這兩類(lèi)語(yǔ)言的代表如下。

      (1)應(yīng)用開(kāi)發(fā)語(yǔ)言

      此類(lèi)開(kāi)發(fā)方式最常見(jiàn)的是Java,基于Java 虛擬機(jī)(Java virtual machine,JVM)實(shí)現(xiàn)跨平臺(tái)開(kāi)發(fā)。JVM 是一個(gè)虛構(gòu)出來(lái)的終端中間件環(huán)境,是通過(guò)在實(shí)際的終端中間件環(huán)境上仿真模擬各種計(jì)算機(jī)功能來(lái)實(shí)現(xiàn)的。Java 虛擬機(jī)有自己完善的硬件架構(gòu),如處理器、堆棧、寄存器等,還具有相應(yīng)的指令系統(tǒng)。JVM 屏蔽了與具體操作系統(tǒng)平臺(tái)相關(guān)的信息,使得Java 程序只需生成在Java 虛擬機(jī)上運(yùn)行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺(tái)上不加修改地運(yùn)行。Java 虛擬機(jī)在執(zhí)行字節(jié)碼時(shí),實(shí)際上最終還是把字節(jié)碼解釋成具體平臺(tái)上的機(jī)器指令執(zhí)行。

      目前還有一些開(kāi)發(fā)工具采用傳統(tǒng)編程語(yǔ)言如Delphi進(jìn)行開(kāi)發(fā),代碼編譯生成多平臺(tái)下的可執(zhí)行程序,這種開(kāi)發(fā)方式保留了傳統(tǒng)編程語(yǔ)言的語(yǔ)言能力,同時(shí)也保證了可執(zhí)行程序的運(yùn)行效率,為開(kāi)發(fā)者提供了一種較優(yōu)的跨平臺(tái)開(kāi)發(fā)選擇。

      (2)網(wǎng)頁(yè)開(kāi)發(fā)語(yǔ)言

      開(kāi)發(fā)者可以采用HTML、CSS 和JavaScript 語(yǔ)言開(kāi)發(fā)Web 應(yīng)用,由瀏覽器實(shí)現(xiàn)跨平臺(tái)的適配性。由于瀏覽器調(diào)用終端系統(tǒng)API 能力較弱,因此出現(xiàn)了Widget引擎的跨平臺(tái)實(shí)現(xiàn)方式,利用JavaScript 語(yǔ)言封裝終端系統(tǒng)API 能力,向開(kāi)發(fā)者提供統(tǒng)一接口。但是Web 應(yīng)用和Widget 應(yīng)用都受制于網(wǎng)頁(yè)開(kāi)發(fā)語(yǔ)言的限制,因此在展現(xiàn)效果和調(diào)用能力上都存在一定的缺陷,目前下一代網(wǎng)頁(yè)開(kāi)發(fā)語(yǔ)言HTML5 有希望彌補(bǔ)這一缺陷,縮小Web 應(yīng)用/Widget 應(yīng)用和本地應(yīng)用的差距。

      比較以上兩類(lèi)開(kāi)發(fā)語(yǔ)言,網(wǎng)頁(yè)開(kāi)發(fā)語(yǔ)言存在能力受限(大代碼量、復(fù)雜圖形和動(dòng)畫(huà)支持)、解釋執(zhí)行效率較低的問(wèn)題,應(yīng)用開(kāi)發(fā)語(yǔ)言存在支持的平臺(tái)數(shù)量少、適配性差的問(wèn)題。隨著HTML5 標(biāo)準(zhǔn)的出現(xiàn),網(wǎng)頁(yè)開(kāi)發(fā)語(yǔ)言在多媒體、3D 圖形、終端能力調(diào)用等方面的能力大大提升,并且其開(kāi)發(fā)門(mén)檻低,越來(lái)越受到移動(dòng)互聯(lián)網(wǎng)開(kāi)發(fā)者的青睞,因此以下將主要圍繞網(wǎng)頁(yè)開(kāi)發(fā)語(yǔ)言構(gòu)想下一代跨平臺(tái)開(kāi)發(fā)工具。

      二、下一代跨平臺(tái)開(kāi)發(fā)構(gòu)想

      分析目前業(yè)界的跨平臺(tái)應(yīng)用開(kāi)發(fā)現(xiàn)狀,其實(shí)現(xiàn)方式多樣,各有優(yōu)缺點(diǎn),無(wú)法完全滿(mǎn)足開(kāi)發(fā)者多樣化跨平臺(tái)開(kāi)發(fā)需求。考慮到終端應(yīng)用形態(tài)的多樣性,希望構(gòu)想一種網(wǎng)頁(yè)開(kāi)發(fā)語(yǔ)言的融合多態(tài)的跨平臺(tái)開(kāi)發(fā)工具,既可以支持跨平臺(tái)運(yùn)行引擎也可以支持跨平臺(tái)編譯的方式, 具體來(lái)說(shuō),下一代跨平臺(tái)開(kāi)發(fā)工具有以下特點(diǎn)。

      (1)統(tǒng)一的跨平臺(tái)開(kāi)發(fā)語(yǔ)言

      開(kāi)發(fā)者希望能夠通過(guò)統(tǒng)一的標(biāo)準(zhǔn)開(kāi)發(fā)語(yǔ)言(HTML、CSS、JavaScript)來(lái)進(jìn)行不同平臺(tái)下的應(yīng)用開(kāi)發(fā),從而減少代碼的重復(fù)編寫(xiě),免去不同語(yǔ)言的學(xué)習(xí)熟悉過(guò)程。

      (2)統(tǒng)一的跨平臺(tái)系統(tǒng)API 編程接口

      不同智能操作系統(tǒng)的API 封裝形式不同,傳統(tǒng)開(kāi)發(fā)者在跨平臺(tái)移植過(guò)程必須重新學(xué)習(xí)新平臺(tái)的API 編程指南,重寫(xiě)API 相關(guān)程序代碼,增加了跨平臺(tái)應(yīng)用移植的時(shí)間。因此跨平臺(tái)開(kāi)發(fā)的開(kāi)發(fā)者希望能夠使用通用標(biāo)準(zhǔn)API(JavaScript 封裝)開(kāi)發(fā)應(yīng)用,無(wú)需重新適配不同平臺(tái)API。

      (3)自動(dòng)化的跨平臺(tái)測(cè)試和仿真環(huán)境

      跨平臺(tái)開(kāi)發(fā)者希望能夠采用編寫(xiě)測(cè)試腳本,針對(duì)已經(jīng)完成調(diào)試的應(yīng)用程序進(jìn)行跨平臺(tái)的自動(dòng)化測(cè)試,輸出測(cè)試結(jié)果,驗(yàn)證應(yīng)用在跨平臺(tái)終端上運(yùn)行的功能完備性、界面適配性和系統(tǒng)可靠性,可以仿真不同平臺(tái)的終端環(huán)境,便捷地調(diào)試應(yīng)用程序,減少應(yīng)用調(diào)試的時(shí)間和成本。

      三、下一代跨平臺(tái)開(kāi)發(fā)環(huán)境實(shí)現(xiàn)方案

      依據(jù)以上跨平臺(tái)開(kāi)發(fā)構(gòu)想搭建一套融合多態(tài)的跨平臺(tái)開(kāi)發(fā)環(huán)境,可以融合目前跨平臺(tái)運(yùn)行引擎和跨平臺(tái)應(yīng)用編譯的優(yōu)點(diǎn),由開(kāi)發(fā)者選擇合適的開(kāi)發(fā)工具基于Web 語(yǔ)言開(kāi)發(fā)??紤]到以上需求,設(shè)計(jì)集成開(kāi)發(fā)環(huán)境可以包括遠(yuǎn)程開(kāi)發(fā)環(huán)境和本地開(kāi)發(fā)環(huán)境兩部分。

      可視化代碼框架為開(kāi)發(fā)者提供UI 設(shè)計(jì)工具,提供常用的頁(yè)面控件,如列表、文本輸入框、靜態(tài)文本、單選框、復(fù)選框、組合框、翻頁(yè)按鈕、按鈕等,并可以將UI 控件與控件對(duì)應(yīng)的背景色、圖片、風(fēng)格關(guān)聯(lián)起來(lái)。例如,新生成一個(gè)Widget 應(yīng)用時(shí),SCE 提供應(yīng)用啟動(dòng)時(shí)的事件、應(yīng)用獲取焦點(diǎn)時(shí)的事件、應(yīng)用退出時(shí)的事件等代碼框架。對(duì)一個(gè)按鈕對(duì)象,提供按鈕按下時(shí)的事件等。

      API 插件庫(kù)為開(kāi)發(fā)者提供ECMA Script、Ajax、Dom、Widget API 以及多平臺(tái)的插件參考庫(kù),開(kāi)發(fā)者可隨時(shí)查詢(xún)API 和調(diào)用方法。同時(shí),在編輯代碼時(shí),代碼編輯器可根據(jù)用戶(hù)輸入實(shí)時(shí)提示用戶(hù)可調(diào)用的API 方法,如用戶(hù)輸入類(lèi)名時(shí),代碼編輯器可提示用戶(hù)下一步可輸入open Url、set Preference For Key、on Focus 等。

      四、發(fā)展展望

      回顧傳統(tǒng)PC、服務(wù)器操作系統(tǒng)的發(fā)展歷程,跨平臺(tái)開(kāi)發(fā)是開(kāi)發(fā)者追求的終極目標(biāo),跨平臺(tái)開(kāi)發(fā)技術(shù)作為產(chǎn)業(yè)鏈發(fā)展過(guò)程中的關(guān)鍵一環(huán),始終是開(kāi)發(fā)技術(shù)研究的熱點(diǎn)和難點(diǎn)。同樣隨著智能終端平臺(tái)的發(fā)展,目前已經(jīng)基本形成了幾個(gè)主要陣營(yíng),舊操作系統(tǒng)版本更新和新操作系統(tǒng)進(jìn)入是智能終端平臺(tái)不變的主題,智能終端跨平臺(tái)開(kāi)發(fā)技術(shù)還處于起步階段,對(duì)其進(jìn)行深入研究符合產(chǎn)業(yè)發(fā)展要求,也是國(guó)內(nèi)軟件業(yè)可能占據(jù)的一個(gè)技術(shù)高點(diǎn)。

      本文中提到的基于Web語(yǔ)言的下一代跨平臺(tái)開(kāi)發(fā)工具雖然在圖形適配、運(yùn)行效率、在線編譯等方面還存在一些技術(shù)難點(diǎn),需要業(yè)界力量進(jìn)一步研究,但是其構(gòu)想是一種有益的探索。在跨平臺(tái)開(kāi)發(fā)技術(shù)上降低開(kāi)發(fā)者門(mén)檻和開(kāi)發(fā)能力及效率是互相制約的兩個(gè)方面,需要在其中找一個(gè)平衡點(diǎn),保證跨平臺(tái)開(kāi)發(fā)技術(shù)能夠接近操作系統(tǒng)原生態(tài)開(kāi)發(fā)能力并減少對(duì)開(kāi)發(fā)者的要求。

      在當(dāng)前移動(dòng)互聯(lián)網(wǎng)產(chǎn)業(yè)結(jié)構(gòu)下,人人都是開(kāi)發(fā)者,都可以基于其奇思妙想構(gòu)建應(yīng)用,應(yīng)用開(kāi)發(fā)技術(shù)不應(yīng)該成為廣大草根開(kāi)發(fā)者進(jìn)入這一領(lǐng)域的障礙,為此類(lèi)人群提供以上構(gòu)想的跨平臺(tái)開(kāi)發(fā)工具,將成為移動(dòng)互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)的助推器。隨著軟件技術(shù)的發(fā)展,特別在HTML5技術(shù)出現(xiàn)后,網(wǎng)頁(yè)類(lèi)應(yīng)用語(yǔ)言能力逐步提升,將成為跨平臺(tái)應(yīng)用開(kāi)發(fā)的主力,廣大開(kāi)發(fā)人群青睞的網(wǎng)頁(yè)類(lèi)應(yīng)用開(kāi)發(fā)工具將成為移動(dòng)互聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā)產(chǎn)業(yè)鏈中不可或缺的一個(gè)環(huán)節(jié),擁有良好的發(fā)展前景。

      參考文獻(xiàn):

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

      [2] 楊曉華,程寶平,朱春梅. Mobile Widget—新一代移動(dòng)互聯(lián)網(wǎng)應(yīng)用技術(shù)[J]. 電信技術(shù), 2011(2): 30-34.

      [3] 劉春華. 基于HTML5的移動(dòng)互聯(lián)網(wǎng)應(yīng)用發(fā)展趨勢(shì)[J]. 移動(dòng)通信, 2013(9): 64-68.

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

      基金項(xiàng)目:

      河南省科技廳2015年重點(diǎn)科技攻關(guān)項(xiàng)目(152102210133)資助

      猜你喜歡
      應(yīng)用技術(shù)跨平臺(tái)開(kāi)發(fā)
      跨平臺(tái)APEX接口組件的設(shè)計(jì)與實(shí)現(xiàn)
      公路工程水泥混凝土常用外加劑應(yīng)用技術(shù)
      新型水稻除草劑丙嗪嘧磺隆及其應(yīng)用技術(shù)探討
      河南方言文化資源的保護(hù)及其開(kāi)發(fā)利用的研究
      遵義紅色旅游開(kāi)發(fā)對(duì)策研究
      淺析當(dāng)前計(jì)算機(jī)網(wǎng)頁(yè)制作的應(yīng)用技術(shù)和管理流程
      基于J2EE和Ionic的ITer學(xué)習(xí)APP設(shè)計(jì)與開(kāi)發(fā)
      單片機(jī)在電子技術(shù)中的應(yīng)用和開(kāi)發(fā)
      基于QT的跨平臺(tái)輸電鐵塔監(jiān)控終端軟件設(shè)計(jì)與實(shí)現(xiàn)
      基于OPC跨平臺(tái)通信的電機(jī)監(jiān)測(cè)與診斷系統(tǒng)
      宁都县| 微山县| 保康县| 合肥市| 托克逊县| 山丹县| 平山县| 江川县| 方正县| 潍坊市| 华阴市| 昭苏县| 柳州市| 茂名市| 桃源县| 孝昌县| 新巴尔虎右旗| 商丘市| 苍溪县| 天长市| 阿拉善左旗| 隆昌县| 上犹县| 寿阳县| 丰城市| 宝丰县| 福安市| 江安县| 成都市| 四川省| 巫溪县| 蒲江县| 沁源县| 肇源县| 登封市| 平陆县| 临漳县| 扎赉特旗| 迭部县| 大冶市| 夏津县|