Native与js交互方式

最近需要做Native同js的交互,所以就特意去查找了写资料学习了一下Native同js交互的相关知识。对几种常用的方式做了如下的整理和分析:
#####一、 Native监听js的alert、confirm、prompt方法
Android端、IOS端均在监听回调中处理alert、confirm或者prompt,解析出含义预定好的标识后按逻辑做出处理。
优点:技术难度低,实现容易。
缺点:需要Native端和js前端两端均新增逻辑;仅支持js调用原生方法,无法获取返回值。
#####二、 Native通过拦截url请求,获取参数及处理对应逻辑
Android端和IOS端在url请求回调中去拦截处理特定url,并获取相关参数,做相关的逻辑处理。
优点:开发难度低,实现简单;不需要js端在特殊处理,只需要Native端定义要拦截处理的url即可。
缺点:同样只是js调用Native单向,不支持返回值;
#####三、 Native通过webView设置代理对象实现交互
Native端通过给WebView设置一个代理对象,然后js通过对象直接调用Native方法;
优点:扩展性更强,且能为js提供返回值;维护修改成本低
缺点:js需要对Native端在单独适配工作,增加逻辑方法;仍然是单向调用,Native调用js方法需要通过其他方式调用,一般不能返回数值。
#####四、 Native通过JsBridge来和js进行交互
通过封装的jsBridge来实现js和Native之间的调用和数据传递。
优点:功能强大,双向调用均可以在框架内完成;双向调用都可以获得返回值;并且可以为方法添加异步的回调,能够实现更为复杂的交互和需求。
缺点:需要Native端和Js均做开发,而且IOS、Android和js需要分别单独去学习JSBridge知识。开发周期和学习成本相对较高,开发难度相对较大,不太适合在轻量需求下使用。
我的博客——IT景隆

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值