免费试用

中文化、本土化、云端化的在线跨平台软件开发工具,支持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开发和运营过程中,存在着一些市场风险。下面将详细介绍一些常见的市场风险,并解释其原理。1. 竞争风险:市场上存在大量的App,竞争非常激烈。如果你的App与其他同类App相似,很难吸引用户。即使你的App有独特的功能,也可能会有其他竞争对手复制
2023-06-29
app开发新语言
近年来,随着移动应用的快速发展,app开发领域也日益火热。在app开发中,选择合适的编程语言是至关重要的一步。除了常见的Java、C++和Python等语言外,近年来涌现出一些新的语言,如Kotlin、Swift和Flutter等。本文将介绍其中几种新兴的
2023-06-29
app开发功能需求文档模板
一个高质量的需求文档是任何项目成功的关键。而对于 app 开发来说,一份清晰明了的需求文档不仅能够提供项目参与者对应用程序的理解,也可以减少开发过程中的错误和需求变更。以下是一个一般的 app 开发需求文档模板,它包括以下几个重要部分:1. 介绍介绍应该简
2023-06-29
apple pay 开发文档
Apple Pay是一种在支持NFC技术的苹果设备上运行的数字钱包服务,它用于接受和发送付款。Apple Pay的原理是基于NFC技术的无线通信。当你将你的设备放在接收器上时,这项技术将在这两个设备之间建立连接。在此连接内,有一个包含持卡人姓名、卡号、发卡
2023-05-06
app 混合开发技术
App混合开发技术是指同时使用Web技术和原生应用程序技术来开发移动应用程序。混合开发技术兼具Web技术灵活性和原生应用程序速度和稳定性的优点,已成为移动应用开发的主流技术。混合开发技术的实现原理很简单。先建立一个Native容器,在容器中加载服务器端提供
2023-05-06
安卓端开发框架一般涉及哪些领域?
安卓端开发框架是一种为安卓应用程序提供基础功能和结构的软件库,可以帮助开发者快速、高效地构建高质量的安卓应用。安卓端开发框架通常包括以下几个方面:网络框架,图片框架, 数据库框架,事件总线框架,依赖注入框架,响应式编程框架
2023-03-22