免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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 是混合应用中重要的通信方式。当我们需要进行混合应用开发的时候,需要选择合适的通信方式来保证程序的运行效率和稳定性。因为业务需求不同,通信方式可能有所不同,所以我们需要评估自己的需求,选择合适的通信方式。


相关知识:
h5开发的app加固
H5开发的应用程序在安全性方面存在一些潜在的漏洞,这使得黑客有机会窃取用户的敏感信息或者修改应用程序的逻辑等。为了保护H5应用程序的安全性,开发者可以对其进行加固,实施一系列安全措施,提高应用的抵御能力。本文将详细介绍H5开发的应用程序加固的原理和实施方法
2023-07-14
app开发的代码是什么语言
移动应用程序(App)是在移动设备上运行的程序。根据不同的操作系统,App的开发语言也会有所不同。目前主流的移动操作系统有iOS(苹果)、Android(谷歌)和Windows Phone(微软)。让我们分别来看看这三种操作系统的App开发语言。1. iO
2023-06-29
app开发成本投入
随着移动设备的普及和互联网基础设施的不断完善,移动应用市场的规模不断增长。各种类型的移动应用程序也在不断涌现,成为人们生活中必不可少的一部分。而对于想要开发一款应用程序的企业或个人来说,了解应用程序开发的成本投入是非常重要的。应用程序开发成本采用模块化计算
2023-06-29
app开发app联系人
在现代科技高度发达的时代,应用程序(App)已经成为人们日常生活中不可或缺的一部分。从娱乐到生活,从购物到出行,手机App几乎渗透到每个人的生活方方面面。而在诸多App应用中,联系人App无疑是我们最为常用的一个。那么,App开发联系人究竟是如何实现的呢?
2023-06-29
app端开发全部课程
App端开发是指在手机操作系统上开发应用程序,主要包括Android和iOS两个系统。在这里我会为大家详细介绍一下App端开发的全部课程。一、需求分析:为任何一款应用程序的开发,需求分析都是非常关键的一步。需求分析要包括对用户的需求、市场的需求等等。在这个
2023-05-06
app多端应用统一开发
随着移动互联网快速发展,越来越多的企业开始将自己的业务落地到移动端,甚至不只是将业务移植到一个移动端上,而是将同一业务同时在多个移动端上开展,这就需要开发者进行多端应用的统一开发。多端应用统一开发的原理就是利用一套代码实现多种移动端应用,这包括 Andro
2023-05-06