CN108958730B - 应用程序组件共享方法及装置、终端设备及可读存储介质 - Google Patents

应用程序组件共享方法及装置、终端设备及可读存储介质 Download PDF

Info

Publication number
CN108958730B
CN108958730B CN201810791163.4A CN201810791163A CN108958730B CN 108958730 B CN108958730 B CN 108958730B CN 201810791163 A CN201810791163 A CN 201810791163A CN 108958730 B CN108958730 B CN 108958730B
Authority
CN
China
Prior art keywords
component
target component
target
registration data
identification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810791163.4A
Other languages
English (en)
Other versions
CN108958730A (zh
Inventor
彭飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing 58 Information Technology Co Ltd
Original Assignee
Beijing 58 Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing 58 Information Technology Co Ltd filed Critical Beijing 58 Information Technology Co Ltd
Publication of CN108958730A publication Critical patent/CN108958730A/zh
Application granted granted Critical
Publication of CN108958730B publication Critical patent/CN108958730B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/449Object-oriented method invocation or resolution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供一种应用程序组件共享方法及装置、终端设备及可读存储介质。该方法包括:接收业务调用方传入的组件调用参数,组件调用参数包括目标组件标识、目标组件方法标识和目标参数,根据目标组件标识和目标组件方法标识,从缓存中查找与目标组件方法标识对应的目标组件方法描述,缓存中存储有至少一种业务逻辑的应用程序组件注册数据,应用程序组件注册数据包括组件标识和组件注册数据类,组件注册数据类包括组件类名和组件方法集合,组件方法集合包含至少一个组件方法描述。根据目标组件方法标识和目标参数,使用业务调用方的开发模式对应的调用方法执行对目标组件方法描述的调用。实现了应用程序组件的复用。

Description

应用程序组件共享方法及装置、终端设备及可读存储介质
本发明实施例要求于2017年08月23日提交中国专利局、申请号为201710729632.5、申请名称为“应用程序组件在多开发模式下共享的方法、装置和系统”的中国专利申请的优先权,其全部内容通过引用结合在本发明实施例中。
技术领域
本发明实施例涉及计算机开发技术,尤其涉及一种应用程序组件共享方法及装置、终端设备及可读存储介质。
背景技术
目前移动应用程序(Application,简称:APP)的开发涉及三种开发模式:原生(Native)开发模式、混合(Hybrid)开发模式和React Native开发模式。这三种开发模式都有各自的适用场景,有时会同时采用三种开发模式进行同一个APP的开发。
现有技术中,在多种开发模式并存的情况下,同一种业务逻辑的应用程序组件针对每种开发模式分别建立一个组件类,进行组件注册、组件方法注册以及组件类和组件方法描述的数据存储。
但是,每种开发模式下分别建立一个组件类,类文件冗余,且每种开发模式下单独进行组件类和组件方法描述的数据存储,需要存储多份数据,浪费内存,因此,如何实现应用程序组件在不同开发模式下的复用,使得多种开发模式下开发的APP在各种开发模式下共享一个应用程序组件,是亟需解决的问题。
发明内容
本发明实施例提供一种应用程序组件共享方法及装置、终端设备及可读存储介质,以实现应用程序组件在不同开发模式下的复用。
第一方面,一种应用程序组件共享方法,包括:
接收业务调用方传入的组件调用参数,所述组件调用参数包括目标组件标识、目标组件方法标识和目标参数;
根据所述目标组件标识和所述目标组件方法标识,从缓存中查找与所述目标组件方法标识对应的目标组件方法描述,所述缓存中存储有至少一种业务逻辑的应用程序组件注册数据,其中,所述应用程序组件注册数据包括:组件标识和组件注册数据类,所述组件注册数据类包括组件类名和组件方法集合,所述组件方法集合包含至少一个组件方法描述;
根据所述目标组件方法标识和所述目标参数,使用所述业务调用方的开发模式对应的调用方法,执行对所述目标组件方法描述的调用。
可选的,所述根据所述目标组件标识和所述目标组件方法标识,从缓存中查找与所述目标组件方法标识对应的目标组件方法描述,包括:
查找与所述目标组件标识对应的目标组件注册数据类;
从所述目标组件注册数据类中查找与所述目标组件方法标识对应的目标组件方法描述。
可选的,所述从所述目标组件注册数据类中查找与所述目标组件方法标识对应的目标组件方法描述之后,所述方法还包括:
确定所述目标组件方法描述是实例方法描述时,创建所述目标组件注册数据类的实例。
可选的,所述方法还包括:
在应用程序组件被运行时环境加载时对应用程序组件及方法同时进行注册;
将注册的应用程序组件及方法对应的应用程序组件注册数据存储在所述缓存中。
可选的,所述至少一个应用程序组件注册数据为原生Native开发模式下的业务代码,所述业务调用方的开发模式为Native开发模式、混合Hybrid开发模式或React Native开发模式中的任一种。
第二方面,本发明实施例提供一种,包括:
接收模块,用于接收业务调用方传入的组件调用参数,所述组件调用参数包括目标组件标识、目标组件方法标识和目标参数;
查找模块,用于根据所述目标组件标识和所述目标组件方法标识,从缓存中查找与所述目标组件方法标识对应的目标组件方法描述,所述缓存中存储有至少一种业务逻辑的应用程序组件注册数据,其中,所述应用程序组件注册数据包括:组件标识和组件注册数据类,所述组件注册数据类包括组件类名和组件方法集合,所述组件方法集合包含至少一个组件方法描述;
调用模块,用于根据所述目标组件方法标识和所述目标参数,使用所述业务调用方的开发模式对应的调用方法,执行对所述目标组件方法描述的调用。
可选的,所述查找模块用于:
查找与所述目标组件标识对应的目标组件注册数据类;
从所述目标组件注册数据类中查找与所述目标组件方法标识对应的目标组件方法描述。
可选的,所述查找模块还用于:
从所述目标组件注册数据类中查找与所述目标组件方法标识对应的目标组件方法描述之后,确定所述目标组件方法描述是实例方法描述时,创建所述目标组件注册数据类的实例。
可选的,所述装置还包括:
注册模块,用于在应用程序组件被运行时环境加载时对应用程序组件及方法同时进行注册;
存储模块,用于将注册的应用程序组件及方法对应的应用程序组件注册数据存储在所述缓存中。
可选的,所述至少一个应用程序组件注册数据为原生Native开发模式下的业务代码,所述业务调用方的开发模式为Native开发模式、混合Hybrid开发模式或React Native开发模式中的任一种。
第三方面,本发明实施例提供一种终端设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现第一方面的应用程序组件共享方法。
第四方面,本发明实施例提供一种可读存储介质,可读存储介质中存储有计算机程序,当应用程序组件共享装置的至少一个处理器执行该计算机程序时,应用程序组件共享装置执行第一方面的应用程序组件共享方法。
本发明实施例提供的应用程序组件共享方法及装置、终端设备及可读存储介质,通过在缓存中预先存储至少一种业务逻辑的应用程序组件注册数据,应用程序组件注册数据包括:组件标识和组件注册数据类,组件注册数据类包括组件类名和组件方法集合,组件方法集合包含至少一个组件方法描述,从而在接收到业务调用方传入的组件调用参数后,可根据组件调用参数中的目标组件标识和目标组件方法标识,从预先存储的至少一种业务逻辑的应用程序组件注册数据中找到与目标组件方法标识对应的目标组件方法描述,最后使用业务调用方的开发模式对应的调用方法,执行对目标组件方法描述的调用。从而,实现了应用程序组件在不同开发模式下的复用,同一种业务逻辑的应用程序组件注册数据中只需要存储一份,可节省数据内存。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的应用程序组件共享方法实施例一的流程图;
图2为本发明提供的一种缓存的结构示意图;
图3为本发明提供的应用程序组件共享方法实施例二的流程图;
图4为本发明提供的应用程序组件共享装置实施例一的结构示意图;
图5为本发明提供的应用程序组件共享装置实施例二的结构示意图;
图6为本发明提供的一种终端设备实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明实施例保护的范围。
现有技术中,在三种开发模式并存的情况下,同一种业务逻辑的应用程序组件针对每种开发模式分别建立一个组件类,进行组件注册、组件方法注册以及组件类和组件方法描述的数据存储,会造成类文件冗余,且需要存储多份数据,浪费内存,为解决这一问题,本发明实施例提供一种应用程序组件共享方法及装置、终端设备及可读存储介质,通过在终端设备中预先存储至少一种业务逻辑的应用程序组件注册数据,应用程序组件注册数据包括:组件标识和组件注册数据类,组件注册数据类包括组件类名和组件方法集合,组件方法集合包含至少一个组件方法描述,从而在接收到业务调用方传入的组件调用参数后,可根据组件调用参数中的目标组件标识和目标组件方法标识,从预先存储的至少一种业务逻辑的应用程序组件注册数据中找到与目标组件方法标识对应的目标组件方法描述,最后使用业务调用方的开发模式对应的调用方法,执行对目标组件方法描述的调用。同一种业务逻辑的应用程序组件注册数据中只需要存储一份,可节省数据内存,实现了应用程序组件在不同开发模式下的复用。下面结合附图对本发明实施例的应用程序组件共享方法进行详细的说明。
首先,下面对本发明实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
1、终端设备,包括但不限于移动台(Mobile Station,MS)、移动终端(MobileTerminal)、移动电话(Mobile Telephone)、手机(handset)及便携设备(portableequipment)等,该终端设备可以经无线接入网(Radio Access Network,RAN)与一个或多个核心网进行通信,例如,终端设备可以是移动电话(或称为“蜂窝”电话)、具有无线通信功能的计算机等,终端设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置或设备。
图1为本发明提供的应用程序组件共享方法实施例一的流程图,本实施例的执行主体可为应用程序组件共享装置,该装置可通过硬件和/或软件实现。该装置可以设置在终端设备中。具体地,该装置可以是终端设备中的组件工厂,如图1所示,本实施例的方法可以包括:
S101、接收业务调用方传入的组件调用参数,组件调用参数包括目标组件标识、目标组件方法标识和目标参数。
具体地,本实施例的执行主体例如为终端设备中的组件工厂,针对某一个业务调用方要调用某一个组件中的组件方法描述,组件工厂会提供具体应用程序编程接口(Application programming interface,API),通过API传入组件调用参数,组件调用参数包括目标组件标识、目标组件方法标识和目标参数。
S102、根据目标组件标识和目标组件方法标识,从缓存中查找与目标组件方法标识对应的目标组件方法描述,缓存中存储有至少一种业务逻辑的应用程序组件注册数据,其中,应用程序组件注册数据包括:组件标识和组件注册数据类,组件注册数据类包括组件类名和组件方法集合,组件方法集合包含至少一个组件方法描述。
其中,缓存为终端设备的内存缓存,本实施例中的缓存是一个Map结构,同一种业务逻辑的应用程序组件注册数据只存储一份,缓存中可以存储多种业务逻辑的应用程序组件注册数据,图2为本发明提供的一种缓存的结构示意图,如图2所示,每个应用程序组件注册数据按照键值对的形式进行存储,应用程序组件注册数据包括:组件标识和组件注册数据类,其中,键(key)为应用程序组件的组件标识,值(value)为组件注册数据类,组件注册数据类包括组件类名和组件方法集合,组件方法集合包含至少一个组件方法描述,组件方法描述包括方法名称、方法的参数的个数和方法的参数的顺序。如图2中所示组件方法集合包含组件方法描述1、组件方法描述2等。图2中所示的缓存中存储有4个业务逻辑的应用程序组件注册数据,本实施例以4个业务逻辑的应用程序组件注册数据为例,还可以是其它,本实施例对此不做限制。
具体地,S102中根据目标组件标识和目标组件方法标识,从缓存中查找与目标组件方法标识对应的目标组件方法描述,可以包括:
S1021、首先查找与目标组件标识对应的目标组件注册数据类,以图2中为例,例如目标组件标识为组件标识1,与组件标识1对应的目标组件注册数据类为组件注册数据类1。
S1022、从目标组件注册数据类中查找与目标组件方法标识对应的目标组件方法描述。
具体地,找到目标组件注册数据类后,从目标组件注册数据类中查找与目标组件方法标识对应的目标组件方法描述,例如目标组件标识为组件标识1,目标组件方法标识为方法2,则从组件注册数据类1中找到目标组件方法描述为方法2对应的组件方法描述。
进一步地,在S1022之后,还可以包括:
S1023、确定目标组件方法描述是实例方法描述时,创建目标组件注册数据类的实例。
具体地,创建类的实例即就是实例化具体类的实例,如果与目标组件方法标识对应的目标组件方法描述是类方法描述,则不需要实例化,可直接执行对目标组件方法描述的调用,如果与目标组件方法标识对应的目标组件方法描述是实例方法描述,则需要进行实例化,实例化之后才能执行对目标组件方法描述的调用,不同开发模式对应不同的代码语言,不同代码语言根据类名实例化具体类的实例的过程不相同,以iOS为例,是根据运行(runtime)中提供的反射API来进行。
S103、根据目标组件方法标识和目标参数,使用业务调用方的开发模式对应的调用方法,执行对目标组件方法描述的调用。
具体地,目标参数是一个数组类型,参数的顺序必须与组件方法描述中的方法的参数的顺序一致。S102中若查找到目标组件方法描述,则说明可以调用,接着根据目标组件方法标识和目标参数,使用业务调用方的开发模式对应的调用方法,执行对目标组件方法描述的调用,不同开发模式对应的调用方法不同。
本实施例中,可选的,至少一个应用程序组件注册数据为Native开发模式下的业务代码,即就是本实施例的应用程序组件是用Native代码封装的组件。业务调用方的开发模式为纯Native开发模式、Hybrid开发模式或React Native开发模式中的任一种。
本实施例中,当业务调用方的开发模式为Native开发模式时,与应用程序组件注册数据的代码相同,可以直接调用。当业务调用方的开发模式为React Native开发模式时,例如可通过下述的JS(JavaScript)调用方法来调用:
JS端通过相关处理,将上述目标组件方法描述对应的业务代码进行编译解析,提取出类名/组件方法描述/参数,然后把提取的这些信息发送给Native端,Native端调用组件工厂中的方法执行代码执行相关数据,并返回数据给JS端。在这个过程中编译解析的过程,类名/组件方法描述/参数的提取过程以及将这些数据传送给Native的过程都是开发框架提供的基本能力。
本实施例提供的应用程序组件共享方法,通过在缓存中预先存储至少一种业务逻辑的应用程序组件注册数据,应用程序组件注册数据包括:组件标识和组件注册数据类,组件注册数据类包括组件类名和组件方法集合,组件方法集合包含至少一个组件方法描述,从而在接收到业务调用方传入的组件调用参数后,可根据组件调用参数中的目标组件标识和目标组件方法标识,从预先存储的至少一种业务逻辑的应用程序组件注册数据中找到与目标组件方法标识对应的目标组件方法描述,最后使用业务调用方的开发模式对应的调用方法,执行对目标组件方法描述的调用。从而,实现了应用程序组件在不同开发模式下的复用,同一种业务逻辑的应用程序组件注册数据中只需要存储一份,可节省数据内存。
图3为本发明提供的应用程序组件共享方法实施例二的流程图,本实施例的执行主体可为应用程序组件共享装置,该装置可通过硬件和/或软件实现。该装置可以设置在终端设备中。具体地,该装置可以是终端设备中的组件工厂,相比较图1所示实施例,本实施例中详细说明了应用程序组件及方法如何注册、以及应用程序组件注册数据存储到缓存中的过程,如图3所示,本实施例的方法可以包括:
S201、在应用程序组件被运行时环境加载时对应用程序组件及方法同时进行注册。
具体地,本实施例中应用程序组件及方法的注册进行同时集中处理,且都选择在应用程序组件的组件类被运行时环境加载时自动执行。具体封装的宏定义如下:
Figure BDA0001734938650000081
Figure BDA0001734938650000091
上述代码中,注册宏REGISTER_HYBRID_MODULE有两个参数,moduleKey和methodDict。其中,moduleKey是应用程序组件标识(也称为映射名称),业务调用方通过传入moduleKey,组件工厂就能找到对应应用程序组件。如果业务调用方传入的modulekey为空或者长度为0,则默认取当前的组件类名做为moduleKey。其次是methodDict参数,参数的key为需要注册的方法的映射名称,value为应用程序组件中的组件方法描述。业务调用方通过传入方法标识(keyName),组件工厂就能找到对应应用程序组件的组件方法描述。
WBBlendFactory是本实施例中描述的组件工厂,组件工厂存储了注册的应用程序组件及方法的数据。registerActionModule方法就是组件工厂提供的注册API,把注册的应用程序组件注册数据进行存储。
上述注册逻辑均是放在load方法中执行的。load方法是在当前组件类在运行时环境加载完成的时候自动执行,本实施例中将方法的注册一同放在load方法中执行,有利于提高各种开发模式下的业务初始化时间,由于应用程序组件及方法的注册优先执行,因此不阻塞框架初始化时其他代码的执行。另外,由于load方法的执行是在应用程序启动时执行,为了不影响应用程序的启动时间,本实施例中的方法注册逻辑是在子线程中进行,且支持并发操作。所以即使有数量巨大的方法注册,影响也可以忽略不计。
针对上述宏,在具体应用程序组件(例如人脸认证组件)中铺设的样例可以为:
@implementation WBHybridModuleFaceCert
//注册组件及方法
REGISTER_HYBRID_MODULE((@”WBFceCert”,@{@"open_auth_sd k":@"actionOpenFaceSDK:",@"verify_face_zhima":@"actionZMCredit:"}));
@end
在编译时,上述应用程序组件中的宏就会被替换成宏里面定义的具体业务代码。
S202、将注册的应用程序组件及方法对应的应用程序组件注册数据存储在缓存中。
其中,缓存中存储有至少一种业务逻辑的应用程序组件注册数据,应用程序组件注册数据包括:组件标识和组件注册数据类,组件注册数据类包括组件类名和组件方法集合,组件方法集合包含至少一个组件方法描述。
S203、接收业务调用方传入的组件调用参数,组件调用参数包括目标组件标识、目标组件方法标识和目标参数。
S204、根据目标组件标识和目标组件方法标识,从缓存中查找与目标组件方法标识对应的目标组件方法描述。
S205、根据目标组件方法标识和目标参数,使用业务调用方的开发模式对应的调用方法,执行对目标组件方法描述的调用。
其中,S203-S205的具体过程与S101-S103相同,具体可参见S101-S103,此处不再赘述。
本实施例提供的应用程序组件共享方法,通过在应用程序组件被运行时环境加载时对应用程序组件及方法同时进行注册,将注册的应用程序组件及方法对应的应用程序组件注册数据存储在缓存中,应用程序组件注册数据包括:组件标识和组件注册数据类,组件注册数据类包括组件类名和组件方法集合,组件方法集合包含至少一个组件方法描述,从而在接收到业务调用方传入的组件调用参数后,可根据组件调用参数中的目标组件标识和目标组件方法标识,从存储的至少一种业务逻辑的应用程序组件注册数据中找到与目标组件方法标识对应的目标组件方法描述,最后使用业务调用方的开发模式对应的调用方法,执行对目标组件方法描述的调用。从而,实现了应用程序组件在不同开发模式下的复用,同一种业务逻辑的应用程序组件注册数据中只需要存储一份,可节省数据内存。
图4为本发明提供的应用程序组件共享装置实施例一的结构示意图,如图4所示,本实施例的装置可以包括:接收模块11、查找模块12和调用模块13,其中,接收模块11用于接收业务调用方传入的组件调用参数,组件调用参数包括目标组件标识、目标组件方法标识和目标参数。
查找模块12用于根据目标组件标识和目标组件方法标识,从缓存中查找与目标组件方法标识对应的目标组件方法描述,缓存中存储有至少一种业务逻辑的应用程序组件注册数据,其中,应用程序组件注册数据包括:组件标识和组件注册数据类,组件注册数据类包括组件类名和组件方法集合,组件方法集合包含至少一个组件方法描述。
调用模块13用于根据目标组件方法标识和目标参数,使用业务调用方的开发模式对应的调用方法,执行对目标组件方法描述的调用。
可选的,查找模块12用于:
查找与目标组件标识对应的目标组件注册数据类;
从目标组件注册数据类中查找与目标组件方法标识对应的目标组件方法描述。
可选的,查找模块12还用于:从目标组件注册数据类中查找与目标组件方法标识对应的目标组件方法描述之后,确定目标组件方法描述是实例方法描述时,创建目标组件注册数据类的实例。
本实施例的装置,可以用于执行上述图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本发明提供的应用程序组件共享装置实施例二的结构示意图,如图5所示,在图4所示装置的基础上,进一步地,本实施例的装置还可以包括:注册模块14和存储模块15。
注册模块14用于在应用程序组件被运行时环境加载时对应用程序组件及方法同时进行注册。
存储模块15用于将注册的应用程序组件及方法对应的应用程序组件注册数据存储在缓存中。
在上述实施例中,可选的,至少一个应用程序组件注册数据为原生Native开发模式下的业务代码,业务调用方的开发模式为Native开发模式、混合Hybrid开发模式或ReactNative开发模式中的任一种。
本实施例的装置,可以用于执行上述图3所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本发明提供的一种终端设备实施例的结构示意图,如图6所示,本实施例的终端设备可以包括:存储器21、处理器22和输入/输出接口23,
存储器21,用于存储程序指令,该存储器可以是flash(闪存)。
处理器22,用于调用并执行存储器中的程序指令,以实现图1或图2所示的应用程序组件共享方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。
可选地,存储器21既可以是独立的,也可以是存储器21跟处理器22集成在一起。
本发明实施例还提供一种可读存储介质,可读存储介质中存储有计算机程序,当应用程序组件共享装置的至少一个处理器执行该计算机程序时,应用程序组件共享装置执行第一方面的应用程序组件共享方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的范围。

Claims (10)

1.一种应用程序组件共享方法,其特征在于,包括:
接收业务调用方传入的组件调用参数,所述组件调用参数包括目标组件标识、目标组件方法标识和目标参数;
根据所述目标组件标识和所述目标组件方法标识,从缓存中查找与所述目标组件方法标识对应的目标组件方法描述,所述缓存中存储有至少一种业务逻辑的应用程序组件注册数据,其中,所述应用程序组件注册数据包括:组件标识和组件注册数据类,所述组件注册数据类包括组件类名和组件方法集合,所述组件方法集合包含至少一个组件方法描述;
根据所述目标组件方法标识和所述目标参数,使用所述业务调用方的开发模式对应的调用方法,执行对所述目标组件方法描述的调用;
所述根据所述目标组件标识和所述目标组件方法标识,从缓存中查找与所述目标组件方法标识对应的目标组件方法描述,包括:
查找与所述目标组件标识对应的目标组件注册数据类;
从所述目标组件注册数据类中查找与所述目标组件方法标识对应的目标组件方法描述。
2.根据权利要求1所述的方法,其特征在于,所述从所述目标组件注册数据类中查找与所述目标组件方法标识对应的目标组件方法描述之后,所述方法还包括:
确定所述目标组件方法描述是实例方法描述时,创建所述目标组件注册数据类的实例。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述方法还包括:
在应用程序组件被运行时环境加载时对应用程序组件及方法同时进行注册;
将注册的应用程序组件及方法对应的应用程序组件注册数据存储在所述缓存中。
4.根据权利要求1-2任一项所述的方法,其特征在于,所述至少一个应用程序组件注册数据为原生Native开发模式下的业务代码,所述业务调用方的开发模式为Native开发模式、混合Hybrid开发模式或React Native开发模式中的任一种。
5.一种应用程序组件共享装置,其特征在于,包括:
接收模块,用于接收业务调用方传入的组件调用参数,所述组件调用参数包括目标组件标识、目标组件方法标识和目标参数;
查找模块,用于根据所述目标组件标识和所述目标组件方法标识,从缓存中查找与所述目标组件方法标识对应的目标组件方法描述,所述缓存中存储有至少一种业务逻辑的应用程序组件注册数据,其中,所述应用程序组件注册数据包括:组件标识和组件注册数据类,所述组件注册数据类包括组件类名和组件方法集合,所述组件方法集合包含至少一个组件方法描述;
调用模块,用于根据所述目标组件方法标识和所述目标参数,使用所述业务调用方的开发模式对应的调用方法,执行对所述目标组件方法描述的调用;
所述查找模块,用于查找与所述目标组件标识对应的目标组件注册数据类;从所述目标组件注册数据类中查找与所述目标组件方法标识对应的目标组件方法描述。
6.根据权利要求5所述的装置,其特征在于,所述查找模块还用于:
从所述目标组件注册数据类中查找与所述目标组件方法标识对应的目标组件方法描述之后,确定所述目标组件方法描述是实例方法描述时,创建所述目标组件注册数据类的实例。
7.根据权利要求5-6任一项所述的装置,其特征在于,所述装置还包括:
注册模块,用于在应用程序组件被运行时环境加载时对应用程序组件及方法同时进行注册;
存储模块,用于将注册的应用程序组件及方法对应的应用程序组件注册数据存储在所述缓存中。
8.根据权利要求5-6任一项所述的装置,其特征在于,所述至少一个应用程序组件注册数据为原生Native开发模式下的业务代码,所述业务调用方的开发模式为Native开发模式、混合Hybrid开发模式或React Native开发模式中的任一种。
9.一种终端设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现权利要求1-4任一项所述的应用程序组件共享方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当应用程序组件共享装置的至少一个处理器执行所述计算机程序时,应用程序组件共享装置执行权利要求1-4任一项所述的应用程序组件共享方法。
CN201810791163.4A 2017-08-23 2018-07-18 应用程序组件共享方法及装置、终端设备及可读存储介质 Active CN108958730B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710729632 2017-08-23
CN2017107296325 2017-08-23

Publications (2)

Publication Number Publication Date
CN108958730A CN108958730A (zh) 2018-12-07
CN108958730B true CN108958730B (zh) 2022-04-19

Family

ID=64495900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810791163.4A Active CN108958730B (zh) 2017-08-23 2018-07-18 应用程序组件共享方法及装置、终端设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN108958730B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111580892B (zh) * 2019-02-19 2023-09-19 杭州海康威视系统技术有限公司 一种业务组件调用的方法、装置、终端和存储介质
CN109918118B (zh) * 2019-03-25 2022-08-09 北京城市网邻信息技术有限公司 一种业务线的注册方法以及相关设备
CN110109712A (zh) * 2019-04-04 2019-08-09 平安科技(深圳)有限公司 业务组件加载方法、装置、计算机设备和存储介质
CN110278284B (zh) * 2019-07-10 2021-09-14 中国民航信息网络股份有限公司 一种服务调用方法及装置
CN110531969A (zh) * 2019-08-27 2019-12-03 中国工商银行股份有限公司 数据处理的方法、装置、计算设备及介质
CN110795094B (zh) * 2019-09-19 2023-10-27 五八有限公司 一种页面组件引用方法以及页面组件引用装置
CN112394953A (zh) * 2020-11-16 2021-02-23 北京五八信息技术有限公司 一种应用程序加载方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461491A (zh) * 2013-09-24 2015-03-25 阿里巴巴集团控股有限公司 一种Hybrid组件的运行方法和系统
CN104572091A (zh) * 2014-12-25 2015-04-29 百度在线网络技术(北京)有限公司 应用软件实现方法、装置以及计算机设备
CN105607895A (zh) * 2014-11-21 2016-05-25 阿里巴巴集团控股有限公司 一种基于应用程序编程接口的应用程序的运行方法和装置
CN106685687A (zh) * 2016-09-23 2017-05-17 北京五八信息技术有限公司 灰度发布方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959537B2 (en) * 2012-09-28 2015-02-17 Sap Se Configurable generation of proxies for backend APIs
US9594662B2 (en) * 2014-08-27 2017-03-14 Ca, Inc. Automated instrumentation of applications
CN106201481A (zh) * 2016-06-30 2016-12-07 传线网络科技(上海)有限公司 应用程序开发系统中的组件管理方法和装置
CN106250156B (zh) * 2016-08-01 2019-03-12 腾讯科技(深圳)有限公司 组件构建方法和装置、组件调用方法和装置
CN106502646A (zh) * 2016-09-23 2017-03-15 北京五八信息技术有限公司 应用的页面信息处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461491A (zh) * 2013-09-24 2015-03-25 阿里巴巴集团控股有限公司 一种Hybrid组件的运行方法和系统
CN105607895A (zh) * 2014-11-21 2016-05-25 阿里巴巴集团控股有限公司 一种基于应用程序编程接口的应用程序的运行方法和装置
CN104572091A (zh) * 2014-12-25 2015-04-29 百度在线网络技术(北京)有限公司 应用软件实现方法、装置以及计算机设备
CN106685687A (zh) * 2016-09-23 2017-05-17 北京五八信息技术有限公司 灰度发布方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种开发和执行均衡高效的Web前端框架的研究与实现;陈幼凌;《中国优秀硕士学位论文全文数据库信息科技辑》;20150815(第8期);I138-160 *
移动APP开发模式研究;李莉 等;《长春理工大学学报(自然科学版)》;20161015;第39卷(第5期);110-114,126 *

Also Published As

Publication number Publication date
CN108958730A (zh) 2018-12-07

Similar Documents

Publication Publication Date Title
CN108958730B (zh) 应用程序组件共享方法及装置、终端设备及可读存储介质
CN108121568B (zh) 唤起app的方法及装置、电子设备和可读存储介质
CN112152926B (zh) 一种管理应用的网络切片的方法及装置
US9913132B1 (en) System and method of mobile phone customization based on universal manifest
US9510181B2 (en) Image-based remote subscriber identity module activation
CN106681749B (zh) 基于安卓平台的局部代码补丁更新方法及装置
CN109587252A (zh) 运营商参数的加载方法、装置、电子设备及存储介质
CN108415708B (zh) 应用程序安装包大小的处理方法、装置、设备和存储介质
CN108920246B (zh) 表单草稿组件共享方法及装置、终端设备及可读存储介质
CN109933381B (zh) 一种内核的加载方法及装置
CN106201610A (zh) Web应用访问终端原生功能的方法及装置
CN110945475A (zh) 用于提供可打补丁的rom固件的系统和方法
CN109800030A (zh) 一种应用程序运行方法、装置及终端
CN109040169B (zh) 管理配置文件的通信装置和方法
CN104765624A (zh) 虚拟机应用程序的更新处理方法和装置
WO2015126079A1 (ko) 리패키징 탐지 방법 및 장치
CN105850165B (zh) 一种基于近场通信技术的终端应用控制方法、装置及系统
US20190310860A1 (en) Method for Managing Multiple Operating Systems in Integrated Circuit Cards, Corresponding System and Computer Program Product
CN111294888A (zh) 一种网络选择方法及装置
CN109656659B (zh) 行为事件的处理方法、装置、电子设备及可读存储介质
CN109933357B (zh) 应用程序升级方法及装置
CN116491217A (zh) 通信方法及装置
CN105191355A (zh) 用于提供接入终端中的uicc与处理器之间的支持uicc作出的异步命令处理的接口的方法和装置
CN112087819B (zh) 一种信息请求方法、设备和计算机可读介质
CN111200861B (zh) 在终端中进行无线通信网络搜索的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant