免费试用

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


相关知识:
gis app开发
GIS(地理信息系统)是一种能够捕获、存储、分析、管理和显示地理空间数据的技术。它利用计算机和软件工具来处理地理数据,提供一种获取空间信息的强大方式。GIS应用程序开发是将GIS技术与软件开发技术相结合,用于创建定制的GIS应用程序。在本篇文章中,我们将详
2023-07-14
app违法开发人员有责任吗
App开发涉及到的法律责任是一个相对复杂的问题,涉及到多个方面的法律法规。在这篇文章中,我们将从法律的角度来探讨App开发人员在违法开发方面的责任。首先,需要明确的是,任何人在开发App时都应该遵守法律法规,包括相关的知识产权、隐私保护、网络安全等方面的规
2023-07-14
app应用客户端开发技术方案
App应用客户端开发是一种创建适用于移动设备(如智能手机和平板电脑)的软件应用程序的过程。在开发过程中,需要考虑多个方面,包括技术选型、平台适配、用户界面设计等等。本文将详细介绍App应用客户端开发的技术方案及原理。1. 技术选型在选择开发技术时,应考虑目
2023-07-14
app开发周期一般多长
App开发周期的长度是根据项目的复杂性和开发团队的规模而定的。一般来说,一个简单的App开发周期可能需要几周时间,而一个复杂的App开发可能需要几个月甚至更长时间。下面是一个典型的App开发周期的详细介绍:1. 需求分析阶段(1-2周)在这个阶段,开发团队
2023-06-29
app开发技术方法
APP开发技术方法指的是将计算机程序、算法、代码编写等技术应用于移动设备操作系统的软件开发技术。随着移动互联网的快速发展,APP已经成为人们移动设备上最为常用的软件之一,也是很多企业、个人推广自己的产品和服务的重要手段。APP技术开发方法主要分为三种,即原
2023-06-29
app个人开发者有多难
作为一个手机应用程序个人开发者,需要拥有多种技能和知识,包括应用程序开发的技能和知识、市场营销和推广知识、设备和测试知识以及财务管理和法律事务知识等等。因此,相对于其他行业,app个人开发者的挑战与难度相对较大。本文将详细介绍app个人开发者的难度和挑战。
2023-05-06