【尚武科技APP開(kāi)發(fā)原創(chuàng)內(nèi)容】混合開(kāi)發(fā)技術(shù)是目前移動(dòng)開(kāi)發(fā)領(lǐng)域的方向和未來(lái),跨平臺(tái)技術(shù)其中是混合開(kāi)發(fā)技術(shù)的核心,首先明確跨平臺(tái)技術(shù)的分類,目前跨平臺(tái)技術(shù)分為兩個(gè)發(fā)展方向:
1、HTML5 + Native 混合方向;
2、中間語(yǔ)言編譯方向,但是我們應(yīng)該知道APICloud 和小程序都屬于前者。
HTML5 + Native 混合,也就是我們通常所說(shuō)的混合開(kāi)發(fā)。
這種模式的開(kāi)發(fā)核心是 HTML5,整個(gè) app 的架構(gòu)是 Native 架構(gòu):通過(guò) HTML5 快速實(shí)現(xiàn) app 的 UI 布局、業(yè)務(wù)邏輯,在開(kāi)發(fā)過(guò)程中涉及 HTML5 無(wú)法實(shí)現(xiàn),則借助 Native 模塊來(lái)實(shí)現(xiàn)?;旌祥_(kāi)發(fā)保證 app 渲染效率和用戶體驗(yàn)的同時(shí),能夠降低 app 開(kāi)發(fā)成本和復(fù)雜度,提高 app 開(kāi)發(fā)效率。最重要的原因就是可以快速的跨平臺(tái)開(kāi)發(fā)。
然后我們?cè)倏矗虚g語(yǔ)言編譯方向,代表產(chǎn)品為 React Native(RN),Xamarin 、 Google 剛剛發(fā)布的 Flutter。中間語(yǔ)言編譯,以 React Native為例,傳統(tǒng)的 app 開(kāi)發(fā)使用 Android 和 iOS 原生技術(shù)-Java、Object-C、C/C++而 RN 的開(kāi)發(fā)過(guò)程則要求開(kāi)發(fā)者使用 JS 進(jìn)行編碼輸出 app,然后在 app 執(zhí)行過(guò)程中,JS 又映射回到安卓和 iOS 原生層面執(zhí)行。用 JS 快速實(shí)現(xiàn)編碼,翻譯為原生代碼執(zhí)行。
Html5 到跨平臺(tái) APP 應(yīng)用,典型的APICloud 選擇混合開(kāi)發(fā)方向,目的是借助 HTML5 降低 app 開(kāi)發(fā)復(fù)雜度,提高 app 開(kāi)發(fā)效率。 通過(guò)工程化的實(shí)踐手段,整個(gè)引擎基于 Android 和 iOS 系統(tǒng)的原生技術(shù)架構(gòu)。最上層為 app 應(yīng)用層,涉及到業(yè)務(wù)以及功能相關(guān)的部分,使用 HTML + CSS 進(jìn)行 UI 布局和渲染,功能和業(yè)務(wù)邏輯則通過(guò) JS 實(shí)現(xiàn),這是 app直接開(kāi)發(fā)的地方。第二層是 API 層,API 層核心的功能是橋接和管理,負(fù)責(zé) JS 與 Java,JS 與 Object-C 之間的通訊,管理 API 的分發(fā),以及一些 JS-Framework 的加載和執(zhí)行。
引擎與模塊的 API 通過(guò)這里向開(kāi)發(fā)者開(kāi)放
接下來(lái)是引擎,引擎主要負(fù)責(zé)應(yīng)用的消息命令管理、事件管理、模塊管理、以及 UI 渲染。
我們通過(guò)將 Android 和 iOS 系統(tǒng)的原生窗口機(jī)制抽象出來(lái),再模擬原生的方式實(shí)現(xiàn)了一個(gè)新的窗口系統(tǒng),由 Widget/Window/Frame/UI Model 構(gòu)成,形成混合渲染能力,使得 app 性能和體驗(yàn)接近原生。核心引擎通過(guò)開(kāi)放模塊機(jī)制,支持動(dòng)態(tài)載入模塊,豐富和增強(qiáng) app 功能。最底下則是 OS 層,OS 層中主要涉及 Android 和 iOS 系統(tǒng)之間一些不同的特性,是我們要花大量時(shí)間精力進(jìn)行適配和抽象的地方。這就是基本的核心模型。
除此之外,一個(gè) app 還應(yīng)當(dāng)具備符合 Android 和 iOS 原生 app 的生命周期特性,例如:如何啟動(dòng),啟動(dòng)流程以及生命周期事件分發(fā)等。
以下是 app 開(kāi)發(fā)引擎對(duì) app 生命周期管理的主要處理流程。
我們?cè)賮?lái)看一下其運(yùn)作機(jī)理:初始化的過(guò)程為原生窗口系統(tǒng)初始化,展示啟動(dòng)頁(yè)->HTML5 運(yùn)行環(huán)境初始化->加載模塊運(yùn)行環(huán)境->事件及消息隊(duì)列管理初始化->根窗口開(kāi)始渲染,之后開(kāi)始加載 HTML5 頁(yè)面,這個(gè) HTML5 頁(yè)面是整個(gè) app 的入口。App 啟動(dòng)完畢后進(jìn)入等待狀態(tài),由用戶的點(diǎn)擊等事件驅(qū)動(dòng)打開(kāi)新的窗口,加載新的模塊,UI 更新等。這就是一個(gè)完整的使用過(guò)程。
使用 HTML5 + Native 混合開(kāi)發(fā),提高開(kāi)發(fā)效率的目的,然而實(shí)踐過(guò)程遠(yuǎn)比想象的要復(fù)雜, APICloud 在專產(chǎn)品層面已經(jīng)具備足夠的使用令度和客觀的應(yīng)用案例。。
尚武科技研學(xué)京津冀協(xié)同創(chuàng)新新聞 以軟件開(kāi)發(fā)賦能“京津研發(fā)、河北轉(zhuǎn)化”
近日,尚武科技組織全體技術(shù)、運(yùn)營(yíng)及市場(chǎng)團(tuán)隊(duì),專題學(xué)習(xí)了國(guó)家統(tǒng)計(jì)局發(fā)布的京津冀區(qū)域協(xié)同創(chuàng)新相關(guān)新聞及省科技廳配套解讀,深入研讀“京津研發(fā)、河北轉(zhuǎn)化”提速升級(jí)的核心舉措與顯著成效。新聞中,京津冀創(chuàng)新發(fā)展指數(shù)持續(xù)上揚(yáng)、河北吸納京津技術(shù)合同成交額突破千億、中試…
尚武科技研學(xué)長(zhǎng)安區(qū)對(duì)接會(huì) 以軟件開(kāi)發(fā)錨定產(chǎn)學(xué)研協(xié)同新路徑
近日,尚武科技組織技術(shù)、運(yùn)營(yíng)及市場(chǎng)核心團(tuán)隊(duì),專題學(xué)習(xí)了石家莊市長(zhǎng)安區(qū)創(chuàng)新資源對(duì)接座談會(huì)的相關(guān)內(nèi)容。此次座談會(huì)搭建了政校企協(xié)同創(chuàng)新的橋梁,聚焦空天信息、遙感測(cè)繪等領(lǐng)域的成果轉(zhuǎn)化與合作,為我們這類立足河北的科技企業(yè)指明了方向。我們雖未參與此次現(xiàn)場(chǎng)會(huì)議,但深…
多維深耕APP頁(yè)面質(zhì)感,賦能軟件開(kāi)發(fā)公司筑牢行業(yè)核心競(jìng)爭(zhēng)力
在數(shù)字化浪潮下,APP開(kāi)發(fā)的核心已從“功能實(shí)現(xiàn)”轉(zhuǎn)向“體驗(yàn)升級(jí)”,頁(yè)面質(zhì)感直接決定用戶留存與品牌口碑。無(wú)論是APP開(kāi)發(fā)、小程序開(kāi)發(fā)還是全鏈路軟件開(kāi)發(fā),頁(yè)面質(zhì)感的打磨都需兼顧視覺(jué)美感、交互流暢度與地域用戶適配性,唯有精準(zhǔn)把控細(xì)節(jié),才能在同類產(chǎn)品中脫穎而出。以下…