目前iOS與JS互動的方法選擇比對
阿新 • • 發佈:2018-11-11
只是針對目前存在的互動方式做個比對。不會涉及任何實現。如需知道具體的使用。可自行baidu或者Google。
攔截協議
攔截協議是最簡單的互動方式,在Android端和iOS端直接攔截,可以統一web前端
的程式碼。web前端
通過在連結中帶上引數。比如:
88gongxiang://loginFunc&name=xxx&pwd=123456
。通過攔截url的scheme
等於88gongxiang
。由Native攔截後自行處理。
JavaScriptCore
iOS7之後蘋果推出了JavaScriptCore這個框架,從而讓web頁面和本地原生應用互動起來非常方便,而且使用此框架可以做到Android那邊和iOS相對統一,web前端寫一套程式碼就可以適配客戶端的兩個平臺,從而減少了web前端的工作量。
第三方框架WebViewJavaScriptBridge
WebViewJavaScriptBridge
時目前iOS流行的JS互動框架,WebViewJavaScriptBridge
是基於攔截協議進行的封裝。同時支援UIWebview
和WKWebview
。但需在web前端
嵌入相應的程式碼,同時web前端
的程式碼需要遵守WebViewJavaScriptBridge
的規定,無法做到與Android的統一。
WKWebview
WKWebview
是 iOS 8
之後提供的一款瀏覽器元件,在JS
與WKWebview
進行互動時,JS呼叫window.webkit.messageHandlers
Native
。無法做到web端
統一程式碼。
以上互動方式,根據不同的需求來決定採用哪種方式,以下可做參考:
- 如果
web端
人手不足、或是想做統一處理,可以採用JavaScriptCore
、攔截協議
的方式。如果是簡單的互動的直接上攔截協議
的方式就行。 第三方框架WebViewJavaScriptBridge
、WKWebview
則需要web端
的配合。