混合app開(kāi)發(fā)(混合app開(kāi)發(fā)要學(xué)什么)
今天給各位分享混合app開(kāi)發(fā)的知識(shí),其中也會(huì)對(duì)混合app開(kāi)發(fā)要學(xué)什么進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!
混合開(kāi)發(fā)之uni-app
uni-app App端內(nèi)置weex渲染引擎,提供原生渲染能力
然而, Weex并不是一個(gè)前端框架 。實(shí)際上,前端框架僅僅是 Weex 的語(yǔ)法層或稱之為 DSL (Domain-specific Language),它們與原生渲染引擎是分離的。換句話說(shuō),Weex 并不依賴于特定的前端框架,隨著前端技術(shù)的發(fā)展,Weex 也可以集成更多廣泛使用的前端框架。
以往的 weex ,有個(gè)很大的問(wèn)題是它只是一個(gè)高性能的渲染器,沒(méi)有足夠的API能力,使得開(kāi)發(fā)時(shí)非常依賴原生工程師協(xié)作,開(kāi)發(fā)者本來(lái)想節(jié)約成本,結(jié)果需要前端、iOS、Android 3撥人開(kāi)發(fā),適得其反。而 nvue 解決了這個(gè)大問(wèn)題,讓前端工程師可以直接開(kāi)發(fā)完整 App,并提供原生插件的市場(chǎng)交易和云打包。這些組合方案,開(kāi)發(fā)者切實(shí)的提高效率、降低成本。
如果你是web前端,不熟悉 weex,那么建議你仍然以使用 vue 為主,在App端某些 vue 表現(xiàn)不佳的場(chǎng)景下使用 nvue 作為強(qiáng)化補(bǔ)充:
uni-app App 端內(nèi)置 HTML5+ 引擎,讓 js 可以直接調(diào)用豐富的原生能力。
小程序及 H5 等平臺(tái)是沒(méi)有 HTML5+ 擴(kuò)展規(guī)范的,因此在 uni-app 調(diào)用 HTML5+ 的擴(kuò)展規(guī)范時(shí),需要注意使用條件編譯。否則運(yùn)行到h5、小程序等平臺(tái)會(huì)出現(xiàn) plus is not defined錯(cuò)誤。
在普通的 H5+ 項(xiàng)目中,需要使用 document.addEventListener 監(jiān)聽(tīng)原生擴(kuò)展的事件。
uni-app 中,沒(méi)有 document??梢允褂?plus.globalEvent.addEventListener 來(lái)實(shí)現(xiàn)(注意manifest中需開(kāi)啟新編譯器,即自定義組件模式"usingComponents":true)。
同理,在 uni-app 中使用 Native.js 時(shí),一些 Native.js 中對(duì)于原生事件的監(jiān)聽(tīng)同樣需要按照上面的方法去實(shí)現(xiàn)。
注意:舊編譯器(非自定義組件模式)不支持 plus.globalEvent 這個(gè)對(duì)象。
移動(dòng)端app開(kāi)發(fā),原生開(kāi)發(fā)與混合開(kāi)發(fā)的區(qū)別?
原生開(kāi)發(fā)
? ? ?原生開(kāi)發(fā)是在Android、IOS移動(dòng)平臺(tái)上利用各自的開(kāi)發(fā)語(yǔ)言、開(kāi)發(fā)API、開(kāi)發(fā)工具進(jìn)行App軟件開(kāi)發(fā)。例如Android是利用Java或者kotlin,使用Eclipse、Android studio、idea等工具開(kāi)發(fā);IOS是利用Objective-C或者Swift,使用Xcode工具等進(jìn)行開(kāi)發(fā)。
原生開(kāi)發(fā)的優(yōu)點(diǎn):
可訪問(wèn)手機(jī)所有功能(如GPS、攝像頭等)、可實(shí)現(xiàn)功能齊全;
運(yùn)行速度快、性能高,絕佳的用戶體驗(yàn);
支持大量圖形和動(dòng)畫(huà),不卡頓,反應(yīng)快;
比較快捷地使用設(shè)備端提供的接口,處理速度上有優(yōu)勢(shì)。
原生開(kāi)發(fā)的缺點(diǎn):
開(kāi)發(fā)周期長(zhǎng); ?
制作費(fèi)用高昂,成本較高; ?
可移植性比較差,一款原生的App,Android和IOS都要各自開(kāi)發(fā),同樣的邏輯、界面要寫(xiě)兩套; ?
內(nèi)容限制(App ? Store限制); ?
獲得新版本時(shí)需重新下載應(yīng)用更新。
混合開(kāi)發(fā)
混合開(kāi)發(fā),是指在開(kāi)發(fā)一款A(yù)pp產(chǎn)品的時(shí)候,為了提高效率、節(jié)省成本而利用原生與H5的開(kāi)發(fā)技術(shù)的混合應(yīng)用。通俗點(diǎn)來(lái)說(shuō),這就是網(wǎng)頁(yè)的模式,通常由“H5云網(wǎng)站+APP應(yīng)用客戶端”;兩部分構(gòu)成。
混合開(kāi)發(fā)是一種取長(zhǎng)補(bǔ)短的開(kāi)發(fā)模式,原生代碼部分利用插件或者其它框架為H5提供容器,程序主要的業(yè)務(wù)實(shí)現(xiàn)、界面展示都是利用與H5相關(guān)的技術(shù)進(jìn)行實(shí)現(xiàn)的。很多APP都是利用混合開(kāi)發(fā)模式而成的。 ?
混合開(kāi)發(fā)優(yōu)點(diǎn):
開(kāi)發(fā)效率高,節(jié)約時(shí)間。同一套代碼Android和IOS基本上都可使用; ?
更新和部署比較方便,每次升級(jí)版本只需要在服務(wù)器端升級(jí)即可,不再需要上傳到App ? Store進(jìn)行審核; ?
代碼維護(hù)方便、版本更新快,節(jié)省產(chǎn)品成本; ?
比web版實(shí)現(xiàn)功能多; ?
可離線運(yùn)行。?
混合開(kāi)發(fā)缺點(diǎn): ?
網(wǎng)絡(luò)要求高:混合APP數(shù)據(jù)需要全部從服務(wù)器調(diào)取,每個(gè)頁(yè)面都需要重新下載,因此打開(kāi)速度慢,網(wǎng)絡(luò)占用高,緩沖時(shí)間長(zhǎng),容易讓用戶反感。 ?
什么是混合app開(kāi)發(fā)
混合開(kāi)發(fā)的App(Hybrid App)就是內(nèi)嵌一個(gè)輕量級(jí)的瀏覽器,一部分原生的功能改為Html 5來(lái)開(kāi)發(fā),這部分功能不僅能夠在不升級(jí)的情況下動(dòng)態(tài)更新,而且可以在Android或iOS上同時(shí)運(yùn)行,讓用戶的體驗(yàn)更好又可以節(jié)省開(kāi)發(fā)的資源。
其他特點(diǎn)
在一個(gè)App中顯示一個(gè)Html 5網(wǎng)頁(yè)的功能,其實(shí)很簡(jiǎn)單,只要一個(gè)WebView就可以了。
WebView?本來(lái)就支持js和Java相互調(diào)用,只需要開(kāi)啟?WebView?的JavaScript腳本執(zhí)行,然后通過(guò)代碼?mWebView.addJavascriptInterface(new JsBridge(), "bxbxbai");?向Html 5頁(yè)面時(shí)注入一個(gè)Java對(duì)象,然后就可以在Html 5頁(yè)面中調(diào)用Native的功能了。
關(guān)于混合app開(kāi)發(fā)和混合app開(kāi)發(fā)要學(xué)什么的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。