免费试用

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


相关知识:
厦门app定制开发报价单模板
厦门市是一座充满活力和创新精神的城市,随着智能手机的普及,市场上对于各种类型的APP需求越来越大。如果你是一位APP开发者,你可能会发现,很多客户需要你为他们的企业或机构开发一个定制化的APP,以满足他们的特定需求。本文将为你介绍厦门APP定制开发报价单模
2024-01-10
app养卡app开发
养卡app是一种用于延长手机卡有效期的应用程序,它可以通过一定的技术手段模拟用户的手机活动,达到自动运营手机卡的目的。养卡app的开发需要了解一些关键原理和技术,下面将对其进行详细介绍。一、原理介绍1. 联网认证:手机卡使用一段时间后会被运营商禁用,需要重
2023-07-14
app开发费用简介
移动应用程序(APP)开发费用涵盖了各种开发过程中产生的成本。这些成本包括人工成本、技术深度、软件工具和设备费用,以及市场研究和销售推广费用。1. 开发人员成本开发人员是APP开发最重要的成本。APP开发人员包括开发人员、UI/UX设计师、测试人员和项目经
2023-06-29
app开发考研
近年来,随着智能手机的普及和用户需求的增加,移动应用程序开发成为了一个炙手可热的行业。而作为一门综合性的技术,app开发领域需要开发人员具备多种技能,包括UI设计、编程语言、数据结构等等。而考研则是很多IT从业人员选择的提升自己技能和职业发展的手段之一。本
2023-06-29
apple m1 开发
Apple M1是由苹果公司开发的ARM架构芯片,它是苹果公司自主研发的第一款Mac电脑芯片,于2020年11月发布。相比于之前基于英特尔架构的Mac电脑,M1芯片带来了更快的处理器速度、更长的电池寿命和改进的图形处理性能。本文将介绍M1芯片的原理和详细介
2023-05-06
app 在线 开发
APP在线开发,是指通过云端平台,使用在线开发工具,将应用程序开发的整个流程置于云端,无需下载开发工具,只需要在网页上进行操作,即可完成APP的开发、测试、发布等整个过程。下面是APP在线开发的原理或详细介绍。一、云端平台APP在线开发所使用的平台一般都是
2023-05-06