实际场景
- APP容器运行 WebView 如: Hybrid 应用、mpass
- 小程序: 微信 JS-SDK(WeiXinJSBridge)
- React-Native
- Nodejs( js 调用底层操作系统 C/C++)

👆 Node Bindings 就有点类似 JSBridge 的功能,所以 JSBridge 本身是一个很简单的东西,其更多的是 一种形式、一种思想

👆 核心是建立 Native 和 Javascript 间消息 双向通信 通道
微信 JS-SDK(WeiXinJSBridge)
<script src="https://res2.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
自执行函数往 Window 全局挂在 window.wx类库
JavaScript 执行 Native (主要)
调用全局挂载的类库方法 这些方法基本都是发布订阅模式, Native方有相应的监听触发 JavaScript 期望的功能
并且在此基础上通知 JavaScript 执行结果或者其他
所以即使最简单的通知 Native 替我们做某事, 也是双向通信(需要通知回来执行结果)

思路简单, 实际编写看封装出的公共性
TODO: liebao 封装📦
Native 执行 JavaScript
Native 可以调用 WebView 的执行 js 字符串方法