Hybird

1.hybird是什么

Hybrid App(混合模式移动应用),是一种介于WebApp和原生App之间的,具备两者优点的混合开发App,j将WebApp套在一个原生App壳子之中,由原生App壳子提供一些WebApp没有的能力(调用照相机等原生能力)的一种App开发模式,混合开发。

2.hybird 开发的优缺点

WebApp HybirdApp 原生APP
优点:开发成本低,能够跨平台,不需要下载,更新快 良好用户交互体验和Web App跨平台开发的优势,可以热更新 用户体验好,性能稳定,响应速度快
缺点:无法获取系统级别的通知,体验较差,没有固定的入口 交互体验和性能没有原生APP好 不能跨平台,不能热更新,
  1. hybird通信方式

hybird 是h5代码套一个app的壳子,app壳子提供了h5原生app的‘能力’,这样就会涉及到h5和app壳子的通信了

hybird.png

JSBridge顾名思义是js和native双向通信的桥梁

JSBridge的通信原理

1.JavaScript 调用 Native的方式

主要有两种:注入API 和 拦截URL SCHEME

注入API :通过webview向js的window注入对象和方法,当js调用该方法时,会执行相应的原生代码

拦截URL SCHEME:native是h5的宿主,可以监听拦截请求,当我们通过iframe.src发送请求后会被native拦截并解析url,按照指定的规则调用对应的方法

2.Native 调用 JavaScript 的方式

将js方法挂载到window上,native就可以调用该方法,挂载的方法可以看做是一个回调,native会回传一些参数,这样就达到native向js传递数据了

JSBridge的实现原理

从上面可以看出来JSBridge的功能主要是

1.native可以通过JSBridge调用(执行)js代码

2.js可以通过JSBridge向native发送消息或者调用native的某个功能
JSBridge = {
     // js=>native  (js向native传递消息)
    invoke: ()=>{
        
    },
    // native=> js (native向js传递消息)
    receiveMsg:()=>{
    
    }
}

你可能感兴趣的:(Hybird)