使用webview几种常见的hybrid通信方式

js 与原生之间的通信:

1.JSbridge::(webviewJavascriptBridge)一种js与原生native通信的机制,可以h5与native互调;

2.Cordova:

 

核心就是原理:

1.假调转请求拦截;

2.弹窗拦截[ alert()、prompt()、confirm() ];

3.js上下文注入(苹果、安卓)

 

“反h5方案”:

微信小程序:里面可以用js+微信自制的ui方案写一个类似原生的应用,只不过这个应用不是发布在 APP  store,而是发布在微信中;

react native:里面可以用js来写一个原生应用;

 

1.传统的JSInterface
首先先介绍一下最普通的一种通信方式,就是使用Android原生的JavascriptInterface来进行js和java的通信。
2.JSBridge
JSBridge,顾名思义,就是和js沟通的桥梁。JSBridge的作用是提供一种js和java通信的框架?

我们还是来捋一捋整个过程。

(1) 在js脚本中把对应的方法名,参数等写成一个符合协议的uri,并且通过window.prompt方法发送给java层。

(2) 在java层的onJsPrompt方法中接受到对应的message之后,通过JsCallJava类进行具体的解析。

(3) 在JsCallJava类中,我们解析得到对应的方法名,参数等信息,并且在map中查找出对应的类的方法。

UrlRouter
其实严格的说,UrlRouter不算是js和java的通信,它只是一个通过url来让前端唤起native页面的框架。不过千万不要小看它的作用,如果协议定义的合理,它可以让前端,Android和iOS三端有一个高度的统一,十分方便。

思路

其实吧,这个思路比JSBridge还要简单,就是我们通过自己实现的框架去拦截前端同学写的url,发现如果是符合我们UrlRouter的协议的话,就跳转到相应的页面。

 

 

使用webview几种常见的hybrid通信方式

混合开发-webview和原生交互

原生和 h5 的通信问题

Hybrid APP之Native和H5页面交互原理

从零收拾一个 hybrid 框架(二)-- WebView 容器基础功能设计思路

好好和h5沟通!几种常见的hybrid通信方式

Android混合H5进行Hybrid开发的探索

转载于:https://www.cnblogs.com/yancongyang/p/8950918.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值