說到混合APP開發(fā),我們就要先談談源生APP開發(fā).
源生APP開發(fā)即我們所稱的傳統(tǒng)APP開發(fā)模式,該開發(fā)針對現(xiàn)在主流的操作系統(tǒng)IOS、Android采用不同的語言和框架進行開發(fā),該模式所有UI元素、數(shù)據(jù)內容、邏輯框架均安裝在手機終端上。可離線運行,通?!胺掌鲾?shù)據(jù)+APP應用客戶端”兩部份構成的APP應用,服務器的業(yè)務邏輯能力相對本地要低很多,大部分只是與本地服務的數(shù)據(jù)同步。
而市面上還有一種APP開發(fā)形式我稱其為WEB APP。
字面上的意思我們就能看的出這類APP以WEB為核心,所有的UI元素、數(shù)據(jù)內容、邏輯框架均在WEB端服務器上來處理,本地的APP簡單的講來說就是一個瀏覽器,用來解析來自服務器上發(fā)送至本地的所有的WEB網(wǎng)頁代碼。這類APP相對源生來說所有的UI元素,以及數(shù)據(jù)業(yè)務處理全部由WEB端來處理。因為APP只是一個瀏覽器所以一個我們能使用的功能及其有限。
先看過常見的兩種APP開發(fā)模式后我們就聊聊今天的主題,混合APP。因為主角的原因我們就說的細一些。
既然名字不同于前兩種,那么開發(fā)模式以及應用功能上也不同于前兩種APP開發(fā)模式。所謂的混合APP就是將源生與WEB揉合開發(fā)出的APP。
首先混合APP使用了源生的開發(fā)語言在設備上使用源生語言開發(fā)具有調取硬件能力的APP,然后通過WEB來處理數(shù)據(jù)業(yè)務邏輯。接下舉例來解釋一下混合APP開發(fā)的過程。
混合APP使用原生方式開發(fā)APP的硬件功能調用方式。利用服務器網(wǎng)頁開發(fā)運動APP里的界面,進行遠端數(shù)據(jù)存取等操作。服務器網(wǎng)頁通過 Web頁面來加載,且網(wǎng)頁可與APP通訊,進行數(shù)據(jù)交互。
由于原生APP的硬件調用,可以本地權限最大化的使用。
舉例來說開發(fā)一款運動APP,有開啟運動模式,運動信息展示,簽到的功能。需要獲取一個設備的重力感應傳感器,陀螺儀,GPS,攝像頭這些設備的數(shù)據(jù)。移動端開發(fā)具有源生功能可以調取以上設備獲取相應數(shù)據(jù)的APP并配有對應的插件。按下移動端的按鈕,開啟對應的設備獲取相應的設備數(shù)據(jù),然后以WEB端制定好的交互規(guī)則,將數(shù)據(jù)通過js發(fā)送至WEB端。然后WEB端將移動端發(fā)送過來的數(shù)據(jù)在WEB解析,進行運動信息展示。
由于采用服務器網(wǎng)頁,可以方便部署與迭代開發(fā),減少升級時對應用商店的依賴。
對APP中嵌入的服務器網(wǎng)頁進行兼容處理后,可以直接被瀏覽器移動版本所采用,一舉多得。當移動網(wǎng)絡的速度與流量不再成為問題時,這種開發(fā)方式,可以使APP的開發(fā)能力獲得最大化。同時,可以減少APP的長期開發(fā)與維護成本。
組建這么一支團隊,需要有移動應用開發(fā)人員,前端開發(fā)人員,后端開發(fā)人員。但是 App 的開發(fā)與迭代速度,可以通過增加前端與后端人員的方式得到顯著提升,遠比在“鐵板一塊”的原生 App 架構下,增加人手要顯著得多。
隨著H5技術的日趨完善,使得混合APP的界面顯示效果也不會遜色于源生APP的界面顯示效果,所以混合APP或許是目前最適應市場生產(chǎn)環(huán)境的一個APP開發(fā)環(huán)境。
全?;旌蟖pp開發(fā)
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。