美文网首页
手写一个JavaScriptBridge(支持JSContext

手写一个JavaScriptBridge(支持JSContext

作者: babyloveblues | 来源:发表于2022-04-29 17:38 被阅读0次

概述

JavaScriptBridge已经不是一个新鲜的东西了,但是最近因为业务要求,需要在JSContext环境提供一个Bridge来进行通信。所以做了一个同时支持Webview和JSContext环境的bridge。


bridge.png

开发思路

这个两个接口都是单工的通信接口,而我们希望,当一端给另一端发送消息的时候,可以像发送网络请求那样得到响应。也就是说将两个单工的数据通道变成双工的。我们可以在其中抽象出一个bridge来处理消息的转发。
例如:
Native调用函数A给JS发送一个id为123的消息,JS处理完成之后,调用B方法给客户端传递一条id为123的消息
反之亦然。
客户端根据环境不同,建立和JS的通信环境和接口,建立两条单工的通道,两条单工通道组成一个双工通道。
handleHoneMessageFromNative:客户端调用JS的时候,客户端维护回调id
handleHoneMessageFromJS:JS调用客户端的时候,JS侧维护回调id

image (1).png image.png

Demo

项目地址:https://github.com/BBC6BAE9/HWJavaScriptBridge

相关文章

网友评论

      本文标题:手写一个JavaScriptBridge(支持JSContext

      本文链接:https://www.haomeiwen.com/subject/xuisyrtx.html