免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持APP、电脑端、小程序、IOS免签等等

app混合开发通信

随着移动互联网的快速发展,越来越多的企业开始关注移动应用的开发。而混合开发是当前最流行的开发方式之一。混合开发是指将网页开发技术和原生应用技术相结合,使用网页技术开发应用程序的框架,可以同时发布到不同的平台上。

混合开发通信是混合应用开发中的一个重要环节,当我们需要调用原生功能的时候就需要进行通信。现在我们主要介绍两种混合应用通信方式:JS-bridge 和 WebViewJavascriptBridge。

JS-bridge 原理

JS-bridge 是最早的混合应用通信方式之一,它使用 JavaScript 和 Native 代码相互调用的方式实现通信。通俗的说就是在 WebView 中通过 JavaScript 代码调用 Native 代码,然后 Native 代码再将结果返回到 WebView 中。

JS-bridge 的实现原理是将 WebView 中 JavaScript 函数封装成 Native 代码模块,Java 中使用 JavaBridge 实现了一个 Java 代码模块。WebView 中使用 JSBridge 将 JavaScript 代码转化成 Java 中 JavaBridge 对象中的方法调用,这样就实现了 Native 代码和 JavaScript 代码之间的调用。

JS-bridge 的优点是通信简单明了,不需要考虑兼容性,因为它直接调用了 Native 代码。但是它的缺点也很明显,由于是通过 JavaScript 调用 Native 的函数,其速度较慢。

WebViewJavascriptBridge 原理

WebViewJavascriptBridge 是基于 JS-bridge 原理的一种优化,他使用消息队列的方式进行通信。当WebView加载到需要与Native交互的页面时,会把一些符合条件的JS调用记录下来,当Native端初始化Bridge时,bridge会去检查一遍本地是否存在需要调用的方法,如果有就立即返回“OK”给JS。这样JS端在收到"OK"回传的时候也知道“本地”存在想要执行的方法。

如何使用WebViewJavascriptBridge呢?它需要引用两个脚本文件,分别是WebViewJavascriptBridge.js和WebViewJavascriptBridge_iOS.js。其中WebViewJavascriptBridge_iOS.js是WebViewJavascriptBridge.js的iOS实现。引用后需要初始化,然后JS调用Native时通过quickSend或send方法将消息放到队列里,Native会监听另一个队列,即handlerQueue,当发现有消息时,会将消息通过WebView的framework库发送给JS端。

虽然WebViewJavascriptBridge 是对 JS-bridge 进行优化改进之后的产物,解决了它各种卡顿问题,提供了一个更加高效、更加稳定的交互方式,但是如果你需要使用 WebViewJavascriptBridge 进行混合应用开发,它的API 文档还是需要认真看一看的。

综上所述,JS-bridge 和 WebViewJavascriptBridge 是混合应用中重要的通信方式。当我们需要进行混合应用开发的时候,需要选择合适的通信方式来保证程序的运行效率和稳定性。因为业务需求不同,通信方式可能有所不同,所以我们需要评估自己的需求,选择合适的通信方式。


相关知识:
ios开发app关机代码
iOS开发中,并没有直接的API可以用来关机设备。这是因为苹果为了保护用户的安全和隐私,并不希望开发者随意控制设备的关机操作。所以,iOS设备的关机操作只能由用户自行操作完成。然而,在开发iOS应用时,你可以使用其他方法间接实现类似的功能。下面介绍两种常见
2023-07-14
h5社交聊天app开发
H5社交聊天App开发指的是使用H5技术开发的一种社交聊天应用程序。H5技术是HTML5技术的简称,它是一种用于构建和设计网页的技术标准。H5技术的使用可以使得App能够在多个平台上运行,例如iOS和Android等。本文将详细介绍H5社交聊天App的原理
2023-07-14
app网校开发建立要多少钱
App网校开发建立的成本因各种因素而异,如开发团队规模、功能复杂程度、技术要求、设计要求等等。但是,我可以给你一些大致的估计和建议。1. 开发团队建立一个App网校需要一个开发团队,通常包括至少一名项目经理、一至两名UI/UX设计师、一至两名前端开发工程师
2023-07-14
app小程序开发定制需求大吗
APP小程序开发定制需求在当前的互联网领域非常大。APP小程序是一种运行在移动设备上的应用程序,与手机操作系统无关,用户无需下载安装即可直接使用。它具有轻量、快速、易用等特点,逐渐成为用户获取信息和服务的首选方式。APP小程序开发定制需求的增大主要有以下几
2023-07-14
app开发用户登录注册
在App开发中,用户登录和注册是非常常见的功能。本文将详细介绍用户登录和注册的原理和实现方式。一、用户登录原理用户登录是指用户通过输入用户名和密码等凭证,验证其身份信息,从而获得访问系统资源的权限。其原理如下:1. 用户输入用户名和密码:用户在登录界面输入
2023-06-29
app开发哪些内容受国家政策限制
在中国的互联网行业中,政策法规是一个重要的限制因素,尤其是在移动应用程序(APP)开发领域。那么,哪些内容会受到国家政策的限制呢?以下是一些主要的限制内容:1. 涉及政治内容根据中华人民共和国宪法和相关法律法规的规定,唯一的合法政治权力机关只能是人民代表大
2023-06-29