免费试用

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


相关知识:
linux怎么开发app
Linux是一个开放源码的操作系统,可以在各种不同的设备上运行,包括手机、平板、服务器等。开发应用程序(或称为APP)是构建和定制Linux系统的重要组成部分。本文将介绍Linux开发APP的原理和详细步骤。首先,了解Linux开发APP的基本原理是很重要
2023-07-14
ios15app开发者需要更新此app
iOS 15是苹果公司最新推出的操作系统版本,为开发者提供了许多新的特性和功能,以提升用户体验和开发者的创造力。对于开发者来说,更新iOS 15对现有的App进行适配和优化是很重要的。本文将介绍更新iOS 15 App的基本原理和详细步骤。1. 了解新特性
2023-07-14
app用什么开发环境
开发一个应用程序需要一个开发环境,这个环境提供了开发者所需的工具和资源,可以帮助他们设计、编写、测试和发布应用程序。在移动应用开发领域,有几种主要的开发环境可供选择,包括原生应用开发、混合应用开发和跨平台应用开发。1. 原生应用开发环境:原生应用开发环境是
2023-07-14
app开发者运营者著作权
APP开发者运营者著作权是指APP开发者在创作和运营APP过程中所拥有的法律权益。本文将从原理和详细介绍两个方面来解析APP开发者运营者著作权。一、原理解析APP开发者运营者著作权的原理主要基于著作权法的相关规定。根据《中华人民共和国著作权法》第十一条和第
2023-06-29
app开发的工作职责
App开发指的是为用户提供运行在移动设备上的应用程序开发的工作。这种应用程序通常运行在手机、平板电脑和其他移动终端设备上,具有图形用户界面、响应式交互以及使用原生设备功能的特性。下面将介绍app开发的流程和工作职责。1.需求分析在开始应用程序的开发之前,您
2023-06-29
webapp和app区别有那些?
webapp是基于网页技术(如HTML5、CSS、JavaScript)开发的移动应用,它可以在手机浏览器上运行,也可以通过封装成原生应用的方式安装在手机上。webapp的优点是跨平台性强,开发成本低,更新方便,无需用户手动下载安装。webapp的缺点是性能和体验相对较差,不能直接调用手机硬件功能(如摄像头、GPS等),对网络环境依赖较高,离线使用受限。
2023-03-24