一种调用原生功能的方法、装置及存储介质制造方法及图纸

技术编号:34698222 阅读:13 留言:0更新日期:2022-08-27 16:34
本申请实施例公开了一种调用原生功能的方法、装置及存储介质,用于客户端技术领域。本申请实施例方法包括:获取基于原生客户端中的原生功能协议生成的代码包,所述代码包包括多个与所述原生客户端进行通信的接口;根据预设的调用请求从所述代码包中确定目标接口,所述调用请求包括预设的接口参数;利用所述目标接口,通过所述原生客户端的框架层调用所述接口参数对应的原生功能。本申请实施例中,通过框架层进行分流调用对应的原生功能,能够有效减少开发成本和开发周期。少开发成本和开发周期。少开发成本和开发周期。

【技术实现步骤摘要】
一种调用原生功能的方法、装置及存储介质


[0001]本申请实施例涉及客户端
,尤其涉及一种调用原生功能的方法、装置及存储介质。

技术介绍

[0002]现有客户端支撑跨端技术栈调用原生能力,一般是依据当前使用的技术栈提供的桥接层来进行相关功能开发,对应的原生功能需要感知相关跨端容器技术栈,来编写自己的实现代码。
[0003]现有跨端调用原生能力主要是统一跨端技术栈,或者是仿照ReactNative的桥接层再做一层防腐层,iOS和Android双端各自开发声明方法,通过注解声明来隔离和通信原生能力和跨端的容器。
[0004]然而双端各自实现自己的原生方法,可能存在双端的接口协议不统一,导致前端需要区分不同的端来做分发逻辑。现有原生开发过程中,针对每一个原生功能,在原生功能外部做一层桥接层,也就是每一个原生功能会存在多个针对不同前端的原生功能,导致需要更多的开发成本和开发周期。

技术实现思路

[0005]本申请实施例提供了一种调用原生功能的方法、装置及存储介质,能够有效减少开发成本和开发周期。
[0006]本申请实施例提供了一种调用原生功能的方法,应用于跨端容器,包括:
[0007]获取基于原生客户端中的原生功能协议生成的代码包,所述代码包包括多个与所述原生客户端进行通信的接口;
[0008]根据预设的调用请求从所述代码包中确定目标接口,所述调用请求包括预设的接口参数;
[0009]利用所述目标接口,通过所述原生客户端的框架层调用所述接口参数对应的原生功能。
[0010]进一步的,所述获取基于原生客户端中的原生功能协议生成的代码包包括:
[0011]获取原生开发端根据目标协议及预设的脚手架生成的所述代码包,所述目标协议为所述原生开发端基于预设的编程语言定义所述原生客户端中的原生功能协议得到的协议。
[0012]进一步的,所述框架层中包括注册表,所述注册表包含所述原生客户端启动时收集的多个原生功能的注册信息;所述利用所述目标接口,通过所述原生客户端的框架层调用所述接口参数对应的原生功能包括:
[0013]利用所述目标接口,通过所述注册表中原生功能的注册信息调用所述接口参数对应的原生功能。
[0014]进一步的,所述利用所述目标接口,通过所述原生客户端的框架层调用所述接口
参数对应的原生功能包括:
[0015]基于所述接口参数确定统一开发的目标方法,所述目标方法为与所述原生功能对应的方法;
[0016]利用所述目标接口将所述目标方法的方法信息发送至所述原生客户端的桥接层,以使所述原生客户端的桥接层将所述方法信息传递至所述原生客户端的框架层,所述框架层确定与所述方法信息对应的目标原生功能,执行所述目标原生功能并反馈执行结果。
[0017]进一步的,所述接口参数指示唯一的原生功能。
[0018]进一步的,所述原生客户端包括Android系统平台和iOS系统平台。
[0019]进一步的,所述跨端容器为ReactNative容器或H5容器。
[0020]本申请实施例还提供了一种调用原生功能的跨端容器,包括:
[0021]获取单元,用于获取基于原生客户端中的原生功能协议生成的代码包,所述代码包包括多个与所述原生客户端进行通信的接口;
[0022]确定单元,用于根据预设的调用请求从所述代码包中确定目标接口,所述调用请求包括预设的接口参数;
[0023]调用单元,用于利用所述目标接口,通过所述原生客户端的框架层调用所述接口参数对应的原生功能。
[0024]本申请实施例还提供了一种调用原生功能的调用装置,包括:
[0025]中央处理器,存储器,输入输出接口,有线或无线网络接口,电源;
[0026]所述存储器为短暂存储存储器或持久存储存储器;
[0027]所述中央处理器配置为与所述存储器通信,在控制面功能实体上执行所述存储器中的指令操作以执行上述的调用方法。
[0028]本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得计算机执行上述的调用方法。
[0029]从以上技术方案可以看出,本申请实施例具有以下优点:
[0030]本申请实施例通过获取基于原生客户端中的原生功能协议生成的代码包,根据预设的调用请求从代码包中确定目标接口;利用目标接口,通过原生客户端的框架层调用接口参数对应的原生功能。通过框架层进行分流调用对应的原生功能,能够有效减少开发成本和开发周期。
附图说明
[0031]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0032]图1为本申请实施例公开的一个调用原生功能的流程图;
[0033]图2为本申请实施例公开的一个开发流程的示意图;
[0034]图3为本申请实施例公开的一个调用原生功能的框架图;
[0035]图4为本申请实施例公开的一个跨端容器示意图;
[0036]图5为本申请实施例公开的一个调用装置示意图。
具体实施方式
[0037]为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0038]现有技术中,当跨端容器(前端)需要一个原生功能时,需要原生开发时原生双端约定好相关的原生功能协议,各自开发对应的需求功能。这样存在双方约定理解偏差导致出来的原生功能协议两端并不一致,导致跨端容器前端需要区分原生客户端兼容处理。如果有不同跨端容器的技术栈需要同一个原生功能时,需要原生开发者根据不同的跨端技术栈适配实现对应的原生功能。现有原生开发过程中,针对每一个原生功能,在原生功能外部做一层桥接层,也就是每一个原生功能会存在多个针对不同前端的原生功能,导致需要更多的开发成本和开发周期。因此,本申请实施例提供了一种调用原生功能的方法,应用于跨端容器,能够有效减少开发成本和开发周期,具体步骤如图1所示:
[0039]101、获取基于原生客户端中的原生功能协议生成的代码包。
[0040]本申请实施例中跨端容器(前端)在调用原生客户端的原生功能前,需要先获取基于原生客户端中的原生功能协议生成的代码包,该代码包中包括有多个与原生客户端进行通信的接口。该原生客户端为原生开发时的客户端,该原生客户端具体可以包括:Android系统平台和iOS系统平台对应的原生双端。该跨端容器可以理解为非原生开发时的前端,该跨端容器可以为ReactNative容器、H5容器或者涂鸦小程序,具体此本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种调用原生功能的方法,其特征在于,应用于跨端容器,包括:获取基于原生客户端中的原生功能协议生成的代码包,所述代码包包括多个与所述原生客户端进行通信的接口;根据预设的调用请求从所述代码包中确定目标接口,所述调用请求包括预设的接口参数;利用所述目标接口,通过所述原生客户端的框架层调用所述接口参数对应的原生功能。2.根据权利要求1所述的方法,其特征在于,所述获取基于原生客户端中的原生功能协议生成的代码包包括:获取原生开发端根据目标协议及预设的脚手架生成的所述代码包,所述目标协议为所述原生开发端基于预设的编程语言定义所述原生客户端中的原生功能协议得到的协议。3.根据权利要求1所述的方法,其特征在于,所述框架层中包括注册表,所述注册表包含所述原生客户端启动时收集的多个原生功能的注册信息;所述利用所述目标接口,通过所述原生客户端的框架层调用所述接口参数对应的原生功能包括:利用所述目标接口,通过所述注册表中原生功能的注册信息调用所述接口参数对应的原生功能。4.根据权利要求1所述的方法,其特征在于,所述利用所述目标接口,通过所述原生客户端的框架层调用所述接口参数对应的原生功能包括:基于所述接口参数确定统一开发的目标方法,所述目标方法为与所述原生功能对应的方法;利用所述目标接口将所述目标方法的方法信息发送至所述原生客户端的桥接层,以使所述原生客户端的桥接层将所述方法信息...

【专利技术属性】
技术研发人员:余甜甜
申请(专利权)人:杭州涂鸦信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1