H5網(wǎng)頁APP(Hybrid APP)是將HTML、CSS、JavaScript等網(wǎng)頁技術(shù)與客戶端技術(shù)結(jié)合起來,以Hybrid動態(tài)加載方式實現(xiàn)在原生APP中呈現(xiàn)H5頁面功能的一種應用形式。H5網(wǎng)頁APP一般分為兩種,分別是以Webview作為基礎的Native H5 APP和以JSBridge作為基礎的交互式Hybrid H5 APP。
一、Native H5 APP的原理
1.Webview原理
Webview是h5做app一種在Android和iOS平臺上的內(nèi)置控件,可以將H5產(chǎn)品集成至Android的APP或iOS的APP中。在調(diào)用Webview的時候,通過加載HTML頁面,可以在原生APP中渲染出H5頁面。
Webview的一個基本特點是,它可以直接加載顯示網(wǎng)頁,同時也可以和原生APP環(huán)境進行交互,實現(xiàn)簡單的數(shù)據(jù)傳遞等功能。
2.嵌入HTML頁面
Native H5 APP項目會先在自己的APP程序中,內(nèi)嵌一整套包括HTML、JS和CSS在內(nèi)的完整的H5應用項目,然后通過Webview等內(nèi)嵌瀏覽器來展示H5頁面,實現(xiàn)了H5的視圖呈現(xiàn),同時還可以通過Webview的JavaScript交互,來實現(xiàn)H5頁面中部分功能的本地化處理(例如獲取全局變量,通過h5能制作app嗎Ajax從本地獲取數(shù)據(jù)等)。
二、Hybrid H5 APP的原理
1.基于JSBridge的Hybrid H5 APP
JSBridge是將H5代碼與原生框架代碼進行互調(diào)的技術(shù)實現(xiàn)方案,通過JSBridge技術(shù)棧,H5可以調(diào)用到原生
APP提供的底層服務,而原生APP也可以通過JSBridge技術(shù)訪問到H5頁面中暴露出來的JavaScript函數(shù)和DOM元素。
JSBridge的典型實現(xiàn)機制是將原生APP和H5頁面各自分別注冊一套消息通知的機制(例如事件監(jiān)聽模型),然后通過一定的消息通知協(xié)議,來使原生APP與H5頁面保持交互溝通的狀態(tài)。
2.Hybrid化方案
Hybrid化方案將以上Native H5 APP與基于JSBridge的Hybrid H5 APP方案相結(jié)合,實現(xiàn)了H5頁面渲染、原始APP接口調(diào)用、H5與原生APP的及時交互、H5承載的邏輯代碼實現(xiàn)等全套方案的完美整合。
三、Hybrid H5 APP與Native H5 APP的差異
1.性能差距
Native H5 APP是基于Webview等內(nèi)嵌瀏覽器呈現(xiàn)的,所以性能上要比Hybrid H5 APP更加快速,操作更加流暢。
2.開發(fā)難度
Hybrid H5 APP需要運用到較多的技術(shù),包括一些原生技術(shù)才能更好地進行交互,同時,編寫代碼時必須考慮到Hybrid技術(shù)的使用,所以開發(fā)難度也要比Native H5 APP較大。
3.應用范圍
Hybrid H5 APP的應用場景一般是基于已有的APP,添加或者升級某些功能,比如評論、分享、消息推送等功能,而Native H5 APP直接屬于APP的一部分,作為原生應用程序的一個組成部分。
綜上所述,H5網(wǎng)頁APP開發(fā)是以Webview基礎與JSBridge技術(shù)為核心,實現(xiàn)彼此之間互通的一種技術(shù)方案,同時也是目前主流的混合APP開發(fā)形式之一。無論采用哪種方案,H5網(wǎng)頁APP開發(fā)都會在原生APP的基礎上,為用戶提供強大的應用和交互功能。