目前iOS与JS交互的方法选择比对

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuwuchaio/article/details/81610626

只是针对目前存在的交互方式做个比对。不会涉及任何实现。如需知道具体的使用。可自行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是基于拦截协议进行的封装。同时支持UIWebviewWKWebview。但需在web前端嵌入相应的代码,同时web前端的代码需要遵守WebViewJavaScriptBridge的规定,无法做到与Android的统一。

WKWebview

WKWebviewiOS 8 之后提供的一款浏览器组件,在JSWKWebview进行交互时,JS调用window.webkit.messageHandlers来发送消息调用Native。无法做到web端统一代码。

以上交互方式,根据不同的需求来决定采用哪种方式,以下可做参考:

  • 如果web端人手不足、或是想做统一处理,可以采用JavaScriptCore拦截协议 的方式。如果是简单的交互的直接上拦截协议 的方式就行。
  • 第三方框架WebViewJavaScriptBridgeWKWebview则需要web端的配合。

猜你喜欢

转载自blog.csdn.net/yuwuchaio/article/details/81610626