首頁  >  文章  >  web前端  >  JSBridge是什麼

JSBridge是什麼

(*-*)浩
(*-*)浩原創
2019-05-18 17:04:5317900瀏覽

JSBridge是JS和Native之間的一種通信方式,也就是定義Native和JS的通信,其中Native只透過一個固定的橋對象呼叫JS,而JS也只透過固定的橋對象調用Native。

JSBridge是什麼

這篇文章將介紹做過混合開發的人都知道Ionic和PhoneGap之類的框架,這些框架在web基礎上包裝一層Native,然後透過Bridge技術的js呼叫本地的函式庫。

JSBridge:聽其取名就是js和Native之前的橋樑,而實際上JSBridge確實是JS和Native之前的一種通訊方式。簡單的說,JSBridge就是定義Native和JS的通訊,Native只透過一個固定的橋對象呼叫JS,JS也只透過固定的橋對象呼叫Native。 JSBridge另一個叫法及大家熟知的Hybrid app技術。

流程:H5->透過某種方式觸發一個url->Native捕獲到url,進行分析->原生做處理->Native呼叫H5的JSBridge物件傳遞回呼。

我們前面講過了原生的WebView/UIWebView控制項已經能夠和Js實作資料通訊了,那為什麼還要JSBridge呢?

其實使用JSBridge有很多方面的考慮:

##Android4.2以下,addJavascriptInterface方式有安全漏掉

iOS7以下,JS無法調用Native

url scheme互動方式是一套現有的成熟方案,可以完美兼容各種版本,對以前舊版本技術的兼容。

JSBridge技術實作

要實作JSBridge,我們需要按以下步驟分析:

第一步:設計出一個Native與JS互動的全域橋物件

第二步:JS如何呼叫Native

#第三個步驟:Native如何得知api被呼叫

第四個步驟:分析url-參數與回調的格式

第五步:Native如何呼叫JS

第6步:H5中api方法的註冊以及格式

JSBridge的完整流程可總結為: 

以上是JSBridge是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn