1.hybird是什么
Hybrid App(混合模式移动应用),是一种介于WebApp和原生App之间的,具备两者优点的混合开发App,j将WebApp套在一个原生App壳子之中,由原生App壳子提供一些WebApp没有的能力(调用照相机等原生能力)的一种App开发模式,混合开发。
2.hybird 开发的优缺点
WebApp | HybirdApp | 原生APP | |
---|---|---|---|
优点:开发成本低,能够跨平台,不需要下载,更新快 | 良好用户交互体验和Web App跨平台开发的优势,可以热更新 | 用户体验好,性能稳定,响应速度快 | |
缺点:无法获取系统级别的通知,体验较差,没有固定的入口 | 交互体验和性能没有原生APP好 | 不能跨平台,不能热更新, | |
- hybird通信方式
hybird 是h5代码套一个app的壳子,app壳子提供了h5原生app的‘能力’,这样就会涉及到h5和app壳子的通信了
hybird.pngJSBridge顾名思义是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:()=>{
}
}
网友评论