999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

淺談移動端跨平臺開發(fā)技術(shù)

2020-10-09 11:13:10劉蕾
科學(xué)與信息化 2020年26期
關(guān)鍵詞:跨平臺

劉蕾

摘 要 本文以發(fā)展歷程為脈絡(luò),簡要介紹了移動端開發(fā)的幾種典型跨平臺開發(fā)方案的原理及技術(shù)構(gòu)思,主要有Web混合開發(fā)、Cocos2d游戲開發(fā)、ReactNative、Flutter等方案。

關(guān)鍵詞 移動開發(fā);跨平臺;APP開發(fā)

前言

目前,市場上的移動端操作系統(tǒng)主要有iOS和Android等;產(chǎn)品形式有應(yīng)用市場上架的原生應(yīng)用、使用瀏覽器訪問的Web頁面以及內(nèi)置到微信平臺的微信小程序等。隨著產(chǎn)品渠道的碎片化加劇,眾多產(chǎn)品選擇同時提供iOS和Android版,抑或還有Web版。于是便有了跨平臺開發(fā)訴求,減少平臺差異適配工作,降低開發(fā)成本。

1移動端原生開發(fā)技術(shù)棧

從操作系統(tǒng)原生支持能力來講,開發(fā)一款產(chǎn)品所需的技術(shù)棧如下:①iOS原生開發(fā)語言為Objective-C,支持C/C++,2014年起支持Swift。②Android原生開發(fā)語言為Java,支持C/C++,2017年起支持Kotlin。

另外,iOS和Android系統(tǒng)都支持瀏覽器訪問的Web APP,開發(fā)語言為HTML/CSS/JavaScript。

原生APP開發(fā)模式下,開發(fā)者需要根據(jù)不同的操作系統(tǒng)搭建開發(fā)環(huán)境,學(xué)習(xí)相關(guān)開發(fā)語言及工具,及各自不同的發(fā)布流程和渠道。原生開發(fā)的最大優(yōu)勢在于,能夠直接調(diào)用原生API,如圖1-A所示,在系統(tǒng)資源的調(diào)度和界面渲染性能上有明顯優(yōu)勢。

對于WebAPP,由于各操作系統(tǒng)對瀏覽器的良好支持,部署更新簡單,開發(fā)難度小,且Web開發(fā)者眾多,便成了首選的跨平臺方式。為了滿足諸如資訊、運營等頁面的使用周期短、迭代快的需求,產(chǎn)生了在原生應(yīng)用程序中內(nèi)嵌瀏覽器組件來渲染W(wǎng)eb頁面應(yīng)用并實現(xiàn)數(shù)據(jù)交互的技術(shù)方案,這便是混合應(yīng)用的雛形[1]。

2跨平臺開發(fā)技術(shù)棧

2.1 Web混合應(yīng)用方案

為了解決原生APP內(nèi)嵌瀏覽器組件的Web頁面無法使用系統(tǒng)的諸多設(shè)備接口數(shù)據(jù)的問題,如定位、加速傳感器等,出現(xiàn)了以PhoneGap/Cordova為代表的混合應(yīng)用(HybridAPP)方案。其利用JavaScript橋接API,將原生接口的數(shù)據(jù)或者功能按照規(guī)定的格式進(jìn)行封裝,并在橋接API中進(jìn)行相應(yīng)的接口注冊,實現(xiàn)了Web頁面與系統(tǒng)原生服務(wù)的雙向數(shù)據(jù)傳遞,如圖1-B所示。此外,Cordova項目針對多平臺開發(fā)、編譯環(huán)境配置復(fù)雜的問題,結(jié)合混合應(yīng)用“原生殼”和“Web內(nèi)容”耦合較低的特性,在多平臺的編譯及打包發(fā)布方面提供了一系列的云支持。

2.2 Cocos2d-JS方案

Cocos2d是始于2008年iPhone發(fā)展初期的一款移動端游戲開發(fā)引擎。Cocos2d-JS對Web平臺的支持主要是通過Web引擎Cocos2d-html5做到的,而對原生系統(tǒng)平臺的支持是以Cocos2d-x為核心,通過JavaScript編譯器SpiderMonkey來執(zhí)行JavaScript代碼,并通過JavaScript綁定技術(shù)將其API映射到Cocos2d-x的API上,如圖1-C所示。而Cocos2d-x本身則是以C/C++實現(xiàn)的。渲染方面,Cocos2d是在UI線程將場景文件理解成場景樹,然后交給GL線程渲染。用戶看到的大部分場景都是使用OpenGL/WebGL渲染的,不同平臺具有相同表現(xiàn)。

2.3 ReactNative方案

為了改善Web混合項目中頁面渲染流程復(fù)雜帶來的性能問題,2015年初Facebook推出了ReactNative(簡稱RN)。RN通過JS/JSX建立UI界面的VirtualDOM,調(diào)用各自平臺的原生UI組件,如圖1-D所示。其中JS和原生的數(shù)據(jù)交互通過JSBridge來實現(xiàn)。而由于不同平臺UI組件的接口表現(xiàn)不同,使得不同平臺JSBridge不同,維護較為復(fù)雜。

2.4 Flutter方案

Flutter是谷歌2018年2月推出的移動UI框架,支持iOS和Android。Flutter上層負(fù)責(zé)提供UI組件、動畫及基礎(chǔ)功能接口等,由Dart語言實現(xiàn);底層引擎負(fù)責(zé)GUI渲染、Dart運行時等功能,由C/C++實現(xiàn)。其中,F(xiàn)lutter底層GUI渲染所使用的Skia引擎,同樣是Android系統(tǒng)的原生GUI渲染引擎??梢?,F(xiàn)lutter與Cocos2d-JS相似,都是繞過操作系統(tǒng)提供的UI封裝,減少從UI組件布局邏輯到底層圖形渲染之間的調(diào)用層級,對上層提供統(tǒng)一的調(diào)用接口,具有較高的靈活性和渲染性能[2]。

3結(jié)束語

本文以移動開發(fā)中跨平臺技術(shù)發(fā)展過程中的幾個典型方案為例,簡要分析了各個方案的原理和技術(shù)構(gòu)思,為開發(fā)人員學(xué)習(xí)理解以及選擇跨平臺方案提供參考。

參考文獻(xiàn)

[1] 寧君宇,袁芳芳,田路強,等.基于flutter的移動應(yīng)用跨平臺開發(fā)的研究[J].科技風(fēng),2020(16):88,94.

[2] 周勇,程子清.Flutter的原理深度剖析[J].電腦編程技巧與維護,2018(11):19-21.

猜你喜歡
跨平臺
跨層級網(wǎng)絡(luò)、跨架構(gòu)、跨平臺的數(shù)據(jù)共享交換關(guān)鍵技術(shù)研究與系統(tǒng)建設(shè)
一款游戲怎么掙到全平臺的錢?
電腦報(2021年11期)2021-07-01 08:10:05
潛力雙跨平臺:進(jìn)階:誰將跨入下一個“十大”?
跨平臺APEX接口組件的設(shè)計與實現(xiàn)
基于C++語言的跨平臺軟件開發(fā)的設(shè)計
基于C++語言的跨平臺軟件開發(fā)
移動互聯(lián)網(wǎng)應(yīng)用跨平臺開發(fā)
一種虛擬現(xiàn)實應(yīng)用程序跨平臺方法的研究
基于QT的跨平臺輸電鐵塔監(jiān)控終端軟件設(shè)計與實現(xiàn)
基于OPC跨平臺通信的電機監(jiān)測與診斷系統(tǒng)
主站蜘蛛池模板: 精品国产免费观看| 找国产毛片看| 国产成人无码播放| 国产成人高清亚洲一区久久| 波多野结衣二区| 超薄丝袜足j国产在线视频| 毛片免费观看视频| 国产视频你懂得| 播五月综合| 亚洲综合欧美在线一区在线播放| 91激情视频| 一区二区三区国产| 亚洲三级a| h视频在线播放| 亚洲久悠悠色悠在线播放| 呦系列视频一区二区三区| 国产成人福利在线| 久热99这里只有精品视频6| 亚洲欧美不卡中文字幕| 国产成人麻豆精品| 97精品伊人久久大香线蕉| 国产嫖妓91东北老熟女久久一| 无码免费的亚洲视频| 高清无码手机在线观看| 国产在线高清一级毛片| 自偷自拍三级全三级视频| 亚洲第一综合天堂另类专| 四虎精品免费久久| 男女男免费视频网站国产| 一区二区在线视频免费观看| 99久久精品国产自免费| 国产欧美中文字幕| 亚国产欧美在线人成| 久草国产在线观看| 亚洲成人77777| 激情无码字幕综合| 中文字幕在线不卡视频| 亚洲第一色网站| 99re这里只有国产中文精品国产精品 | 久久一级电影| 国产久草视频| 欧美yw精品日本国产精品| 色哟哟色院91精品网站| 国产小视频网站| 日韩无码黄色网站| 狠狠五月天中文字幕| 欧美日韩理论| 国产成人久久综合一区| 老司国产精品视频91| 精品伊人久久久香线蕉 | 青青青视频91在线 | 精品国产免费第一区二区三区日韩| 国产情精品嫩草影院88av| 国产欧美视频在线| 影音先锋丝袜制服| 欧美日本在线| 第一页亚洲| 日本a级免费| 五月天福利视频| 亚洲日产2021三区在线| 国产美女一级毛片| 真人高潮娇喘嗯啊在线观看| 国产精品尤物在线| 毛片网站在线播放| 国产产在线精品亚洲aavv| 国产福利一区视频| 亚洲伊人天堂| 欧美亚洲国产精品久久蜜芽| 国产幂在线无码精品| 国产在线拍偷自揄观看视频网站| 久久这里只有精品免费| 亚洲a级毛片| 亚洲无码A视频在线| 人妻无码一区二区视频| 一级一级一片免费| 国产资源免费观看| 国产 日韩 欧美 第二页| 久久夜色撩人精品国产| 国产成人艳妇AA视频在线| 国产高清在线观看91精品| 久久夜色撩人精品国产| 中文字幕av无码不卡免费 |