Html5到跨平臺app應用
每一項新興技術的出現和流行,都是為了規模化的去統一解決一系列復雜問題,APICloud選擇混合開發方向,目的是希望借助HTML5降低app開發復雜度,提高app開發效率。
通過工程化的實踐手段,我們首先設計了一個app開發引擎。簡單的向大家介紹一下這個引擎的架構:
整個引擎基于Android和iOS系統的原生技術架構
最上層為app應用層,涉及到業務以及功能相關的部分,要求開發者使用HTML +
CSS進行UI布局和渲染,功能和業務邏輯則通過JS實現,這是app開發者直接參與的地方。
第二層則是API層,API層核心的功能是橋接和管理,負責JS與Java,JS與Object-C之間的通訊,管理API的分發,以及一些JS-Framework的加載和執行。
引擎與模塊的API通過這里向開發者開放
接下來是引擎,引擎主要負責應用的消息命令管理、事件管理、模塊管理、以及UI渲染。
我們通過將Android和iOS系統的原生窗口機制抽象出來,再模擬原生的方式實現了一個新的窗口系統,由Widget/Window/Frame/UI
Model構成,形成混合渲染能力,使得app性能和體驗接近原生。
引擎通過開放模塊機制,支持動態載入模塊,豐富和增強app功能,滿足各式各樣的需求。
最底下則是OS層,OS層中主要涉及Android和iOS系統之間一些不同的特性,是我們要花大量時間精力進行適配和抽象的地方。
除此之外,一個app還應當具備符合Android和iOS原生app的生命周期特性,例如:如何啟動,啟動流程以及生命周期事件分發等。
以下是app開發引擎對app生命周期管理的主要處理流程。
引擎觸發app的生命周期同原生app一致,觸發點來自用戶
用戶點擊桌面的某個圖標,或者點擊手機狀態欄的某個通知,系統會將這個事件分發到對應的app,引擎在收到這個事件后開始初始化。
初始化的過程為:原生窗口系統初始化,展示啟動頁->HTML5運行環境初始化->加載模塊運行環境->事件及消息隊列管理初始化->根窗口開始渲染,之后開始加載HTML5頁面,這個HTML5頁面是整個app的入口。
App啟動完畢后進入等待狀態,由用戶的點擊等事件驅動打開新的窗口,加載新的模塊,UI更新等。
通過app開發引擎,初步達到了使用HTML5 +
Native混合開發,提高開發效率的目的,然而實踐過程遠比想象的要復雜,為此APICloud在專產品層面付出了非凡的努力。
在浩瀚的人類文明中,得益于計算機的迅速發展和技術的廣泛應用,拉開了第三次工業革命的新篇章,與此同時信息技術成為拉動經濟的重要增長點。
在移動互聯網時代,app開發技術無疑是行業發展的重要驅動力,企業對于產品快速落地與靈活迭代的迫切需求,則使跨平臺開發技術廣泛應用;而APICloud通過擁有核心知識產權的混合app開發技術,進一步幫助企業快速實現移動互聯網布局,并以生態之力為開發者提供全面的技術服務。
更多APP資訊,請關注www.apicloud.com
提交App定制需求,了解報價和周期:https://app.apicloud.com/index?uzchannel=500