CN115857878A - 一种开发框架生成方法及应用方法 - Google Patents
一种开发框架生成方法及应用方法 Download PDFInfo
- Publication number
- CN115857878A CN115857878A CN202111115916.8A CN202111115916A CN115857878A CN 115857878 A CN115857878 A CN 115857878A CN 202111115916 A CN202111115916 A CN 202111115916A CN 115857878 A CN115857878 A CN 115857878A
- Authority
- CN
- China
- Prior art keywords
- component
- specified
- interface
- service
- development
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种开发框架生成方法及应用方法。该方法包括:确定指定业务的应用需求信息所对应的组件需求信息、业务逻辑以及兼容需求信息;根据兼容需求信息和组件需求信息确定通用基础组件和用于原生基础组件接入的组件接入接口;基于业务逻辑确定指示关键业务的关键逻辑,以及为关键逻辑配置对应的调用接口;基于通用基础组件、组件接入接口、业务逻辑以及调用接口生成针对指定业务的开发框架。本申请提供了一种具有较好兼容性的开发框架,提高了相关逻辑代码的复用性,降低了代码维护难度和工作量。在此基础上,可以保证相关软件开发工具包的通用性,提高相关软件的开发效率。本申请实施例可以应用于云技术、AI、智慧交通、车载等各种场景。
Description
技术领域
本申请涉及互联网通信技术领域,尤其涉及一种开发框架生成方法及应用方法。
背景技术
随着互联网通信技术的发展,各类软件层出不穷,软件的应用领域愈加广泛,软件可实现的功能也越来越多。不同软件之前可能存在相同的功能需求,比如实现支付业务。相关技术中,通常由提供支付业务的平台提供相关软件开发代码,而软件开发者基于该软件开发代码为相关软件赋予实现支付业务的功能。然而,考虑到平台差异,往往基于平台维度提供对应的软件开发代码,比如针对安卓平台的软件开发代码、针对主机平台的软件开发代码。当支付业务中存在逻辑变动时,需要对软件开发代码进行相关调整,也即需要对对应各个平台的软件开发代码进行调整,这样会带来较大的维护难度和工作量,从而影响相关软件的开发效率。因此,需要提供平台兼容性好的软件开发代码。
发明内容
为了解决现有技术应用在软件开发时,缺乏具有较好兼容性的软件开发代码等问题,本申请提供了一种开发框架生成方法及应用方法:
根据本申请的第一方面,提供了一种开发框架生成方法,所述方法包括:
响应于指定业务的应用需求信息,确定对应的组件需求信息、业务逻辑以及兼容需求信息;其中,所述兼容需求信息所指示的兼容对象包括以下至少一个:至少两类设备、至少两类操作系统和至少两类编程语言;
根据所述兼容需求信息和所述组件需求信息确定通用基础组件和用于原生基础组件接入的组件接入接口;
基于所述业务逻辑确定指示关键业务的关键逻辑,以及为所述关键逻辑配置对应的调用接口;
基于所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口生成针对所述指定业务的开发框架。
根据本申请的第二方面,提供了一种开发框架应用方法,所述方法包括:
获取目标框架数据,所述目标框架数据指示指定业务的开发框架,所述指示指定业务的开发框架是采用如第一方面所述的开发框架生成方法生成的;
获取支持所述指定业务实现的服务器信息;
基于所述目标框架数据和所述服务器信息,生成所述指定业务对应的软件开发工具包文件。
根据本申请的第三方面,提供了一种开发框架应用方法,所述方法包括:
获取指定软件的功能需求信息;
当所述功能需求信息指示实现指定业务时,获取目标软件开发工具包文件,所述目标软件开发工具包文件是如第二方面所述开发框架应用方法中所生成的所述指定业务对应的软件开发工具包文件;
基于所述指定软件的代码文件和所述目标软件开发工具包文件对所述指定软件进行功能更新。
根据本申请的第四方面,提供了一种业务处理方法,应用于客户端,所述客户端安装有如第三方面所述的开发框架应用方法中所更新的指定软件,所述指定软件包括指示指定业务的目标软件开发工具包文件,所述方法包括:
响应于指示关键业务的指定业务请求,基于调用接口处理所述指定业务请求;其中,所述关键业务属于所述指定业务,所述调用接口指示所述目标软件开发工具包文件中开发框架的业务逻辑设置信息,所述调用接口是为所述关键业务所配置的。
根据本申请的第五方面,提供了一种开发框架生成装置,所述装置包括:
响应模块:用于响应于指定业务的应用需求信息,确定对应的组件需求信息、业务逻辑以及兼容需求信息;其中,所述兼容需求信息所指示的兼容对象包括以下至少一个:至少两类设备、至少两类操作系统和至少两类编程语言;
确定模块:用于根据所述兼容需求信息和所述组件需求信息确定通用基础组件和用于原生基础组件接入的组件接入接口;
调用接口配置模块:用于基于所述业务逻辑确定指示关键业务的关键逻辑,以及为所述关键逻辑配置对应的调用接口;
框架生成模块:用于基于所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口生成针对所述指定业务的开发框架。
根据本申请的第六方面,提供了一种开发框架应用装置,所述装置包括:
框架获取模块:用于获取目标框架数据,所述目标框架数据指示指定业务的开发框架,所述指示指定业务的开发框架是采用如第一方面所述的开发框架生成方法生成的;
服务器信息获取模块:用于获取支持所述指定业务实现的服务器信息;
工具包生成模块:用于基于所述目标框架数据和所述服务器信息,生成所述指定业务对应的软件开发工具包文件。
根据本申请的第七方面,提供了一种开发框架应用装置,所述装置包括:
需求信息获取模块:用于获取指定软件的功能需求信息;
工具包获取模块:用于当所述功能需求信息指示实现指定业务时,获取目标软件开发工具包文件,所述目标软件开发工具包文件是如第二方面所述开发框架应用方法中所生成的所述指定业务对应的软件开发工具包文件;
更新模块:用于基于所述指定软件的代码文件和所述目标软件开发工具包文件对所述指定软件进行功能更新。
根据本申请的第八方面,提供了一种业务处理装置,配置于客户端,所述客户端安装有如第三方面所述的开发框架应用方法中所更新的指定软件,所述指定软件包括指示指定业务的目标软件开发工具包文件,所述装置包括:
业务处理模块:用于响应于指示关键业务的指定业务请求,基于调用接口处理所述指定业务请求;其中,所述关键业务属于所述指定业务,所述调用接口指示所述目标软件开发工具包文件中开发框架的业务逻辑设置信息,所述调用接口是为所述关键业务所配置的。
根据本申请的第九方面,提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如第一方面所述的开发框架生成方法、如第二方面所述的开发框架应用方法、如第三方面所述的开发框架应用方法或者如第四方面所述的业务处理方法。
根据本申请的第十方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如第一方面所述的开发框架生成方法、如第二方面所述的开发框架应用方法、如第三方面所述的开发框架应用方法或者如第四方面所述的业务处理方法。
根据本申请的第十一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如第一方面所述的开发框架生成方法、如第二方面所述的开发框架应用方法、如第三方面所述的开发框架应用方法或者如第四方面所述的业务处理方法。
本申请提供的一种开发框架生成方法及应用方法,具有如下技术效果:
本申请通过确定指定业务的应用需求信息对应的组件需求信息、业务逻辑以及兼容需求信息,然后根据兼容需求信息和组件需求信息确定通用基础组件和用于原生基础组件接入的组件接入接口,再者基于业务逻辑确定指示关键业务的关键逻辑以及为关键逻辑配置对应的调用接口,从而基于通用基础组件、组件接入接口、业务逻辑以及调用接口生成针对指定业务的开发框架。本申请提供了一种具有较好兼容性的开发框架,提高了相关逻辑代码的复用性,降低了代码维护难度和工作量。可以保证不同平台在基础组件维度的适用性,利用组件接入接口克服部分平台因自身特性对于通用基础组件的不兼容问题。为关键逻辑配置对应的调用接口,可以提高对于核心业务的调用响应,降低其与平台、用户界面等的耦合度。在此基础上,利用所生成的针对指定业务的开发框架,可以保证相关软件开发工具包的通用性,可以提高相关软件的开发效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种应用环境的示意图;
图2是本申请实施例提供的一种开发框架生成方法的流程示意图;
图3是本申请实施例提供的一种开发框架应用方法的流程示意图;
图4也是本申请实施例提供的一种开发框架应用方法的流程示意图;
图5-10是本申请实施例提供的开发框架分层设计示意图;
图11是本申请实施例提供的调用接口的应用示意图;
图12是本申请实施例提供的接入层的调用方式及调用原理示意图;
图13是本申请实施例提供的一种开发框架生成装置的组成框图;
图14是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
DB(Database):数据库,它可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
PS4(PlayStation 4):索尼公司推出的一款家用游戏机。
PS5(PlayStation 5):索尼公司推出的一款家用游戏机。
NS(Nintendo Switch,任天堂Switch):任天堂公司于2017年3月发布的主机,采用家用机、掌机一体化设计。
Xbox One:微软公司发售的家用游戏机。
Steam:一个数字游戏软件发行平台。
PC(Personal Computer):个人计算机。
主机平台:本申请实施例指switch、PS4、PS5、xbox等主机游戏平台。
端游平台:本申请实施例指pc端的游戏平台,比如steam平台。
SDK(Software Development Kit):软件开发工具包。本申请实施例指客户端的应用集成的功能模块,用来完成特定的独立功能,米大师的SDK完成支付功能。
IDL(Interface description language):接口描述语言,专门用来描述接口的语言,可用于跨平台开发。
C语言:一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。
C++语言:它是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。
Kotlin:科特林,一个用于现代多平台应用的静态编程语言
OC(Objective-C):它是扩充C的面向对象编程语言。
Swift:雨燕,一种计算机编程语言。
Java:一门面向对象编程语言。
JNI(Java Native Interface):Java本地接口,通过使用Java本地接口书写程序,可以确保代码在不同的平台上方便移植。可以作为安卓原生Java代码访问C++的方式。
请参阅图1,图1是本申请实施例提供的一种应用环境的示意图,该应用环境中可以包括客户端10和服务端20。客户端10与服务端20可以通过有线或无线通信方式进行直接或间接地连接。客户端10将用户触发的指示指定业务的业务请求发送至服务端20,服务端20对接收到的业务请求进行处理。需要说明的是,图1仅仅是一种示例。
客户端10可以是智能手机、电脑(如台式电脑、平板电脑、笔记本电脑等)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、数字助理、智能可穿戴设备、智能语音交互设备(如智能音响等)、智能家电、车载终端等类型的实体设备,也可以是运行于实体设备中的软件,比如计算机程序。客户端所对应的操作系统可以包括安卓系统(Android系统)、iOS系统(是由苹果公司开发的移动操作系统)、linux系统(一种操作系统)、Microsoft Windows系统(微软视窗操作系统)等。当客户端10是运行于实体设备中的软件时,该软件可以是由软件开发方A基于指定业务服务提供方B提供的SDK开发的,该SDK是基于指示该指定业务的开发框架生成的。
服务端20可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。其中服务器可以包括有网络通信单元、处理器和存储器等等。属于指定业务服务提供方B的服务端20,可以为客户端10提供有关指定业务的后台服务。
在实际应用中,由软件开发方A开发的软件可以是游戏应用,可以理解实现游戏业务是该游戏应用的主要功能需求、实现指定业务是该游戏应用的辅助功能需求。指定业务服务提供方B提供的指定业务服务可以是支付业务服务,该支付业务服务可以支持虚拟货币、第三方支付平台支付、在线支付平台的余额、在线支付平台的快捷支付、手机充值卡、手机话费等支付渠道。当然,由软件开发方A开发的软件也可以是车联网应用、地图应用。车联网应用的功能可以包括车辆信息(比如能耗信息、速度信息等)维护功能、音乐播放功能等。
以下介绍本申请一种开发框架生成方法的具体实施例,图2是本申请实施例提供的一种开发框架生成方法的流程示意图,本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
S201:响应于指定业务的应用需求信息,确定对应的组件需求信息、业务逻辑以及兼容需求信息;其中,所述兼容需求信息所指示的兼容对象包括以下至少一个:至少两类设备、至少两类操作系统和至少两类编程语言;
在本申请实施例中,服务端响应于指定业务的应用需求信息,确定对应的组件需求信息、业务逻辑以及兼容需求信息。指定业务的应用需求信息,也即服务端实现对外提供指定业务服务的相关需求。组件需求信息描述了组件层面的需求,比如对于基础组件的需求、用户界面(UI)组件的需求。业务逻辑描述了实现指定业务的相关流程。兼容需求信息描述了需要兼容的对象信息,兼容需求信息所指示的兼容对象可以包括以下至少一个:至少两类设备、至少两类操作系统和至少两类编程语言。示例性的,至少两类设备包括手机、PC和主机。至少两类操作系统包括Android系统、iOS系统和Windows系统。至少两类编程语言包括Java、C语言、C++语言、Kotlin、OC和Swift。
S202:根据所述兼容需求信息和所述组件需求信息确定通用基础组件和用于原生基础组件接入的组件接入接口;
在本申请实施例中,服务端根据兼容需求信息和组件需求信息确定通用基础组件和用于原生基础组件接入的组件接入接口。可以由组件需求信息确定对于基础组件的需求,得到候选基础组件集合,该集合中的基础组件可以是基于历史经验确定的。可以将兼容需求信息指示的兼容对象看作是由至少两个冲突子对象构成的。对于候选基础组件集合,确定每个冲突子对象所支持的基础组件,进而得到基础组件并集即为通用基础组件。对于候选基础组件集合中冲突子对象不支持的基础组件,引入组件接入接口,以通过该接口接入冲突子对象所支持的原生基础组件。需要说明的是,候选基础组件集合中的基础组件可以综合历史经验和兼容对象进行适应性调整。候选基础组件集合中的基础组件可以有网络库、日志库、数据库、线程库等。另外,也可以由组件需求信息确定对于基础组件的需求,基于该对于基础组件的需求,确定各个冲突子对象所支持的基础组件。对于各个冲突子对象所支持的基础组件,确定各个基础组件的支持频次,将支持频次等于或高于阈值的基础组件纳入通用基础组件的范畴。若某冲突子对象所支持的基础组件因支持频次低于阈值而落选通用基础组件,那么该冲突子对象可以通过组件接入接口保有对其所支持的基础组件的应用权利。
一般来说,安卓平台使用Java、Kotlin、C语言进行软件开发,iOS平台使用OC、Swift或C语言进行软件开发,主机平台使用C语言进行软件开发。端游平台常支持Windows系统。由于基础组件如网络、线程部分,需要安装平台的系统支持,容易有兼容性适配问题。因此同时提供通用基础组件和用于原生基础组件接入的组件接入接口。如果特定平台(如PS4/5)不兼容通用版本的基础组件,则可以通过组件接入接口,单独开发原生的基础组件以适配。PS4和PS5平台,由于组件依赖的基础库不同,必须依赖原生的基础组件。相较于将组件需求信息与业务逻辑融于一体的软件开发代码,本申请实施例提供的开发框架中业务逻辑与组件接入接口分离,使得业务逻辑仍然可以跨平台,在需要时基础组件使用PS4和PS5平台的依赖。
参见图7-8,其中标准组件接口对应上述组件接入接口。经过这样的适配改造后,Android、iOS、Windows(steam)、switch、Windows(xbox)这几个平台下的渠道都可以统一复用相同的通用基础组件版本。PS4和PS5平台,使用原生平台的组件版本。
S203:基于所述业务逻辑确定指示关键业务的关键逻辑,以及为所述关键逻辑配置对应的调用接口;
在本申请实施例中,服务端基于业务逻辑确定指示关键业务的关键逻辑,以及为关键逻辑配置对应的调用接口。以指定业务为支付业务为例,关键(核心)业务是与支付业务强相关的业务,比如购买目标游戏皮肤。与此对应的则是与支付业务弱相关的普通业务,比如修改头像、更换壁纸。业务逻辑由逻辑代码构成,这些逻辑代码指示有关页面跳转、用户交互的响应、构造订单号、请求下单、参数封装等的逻辑。参见图11,调用接口可以对应标准支付流程接口。可以理解,将用户购买商品的具体场景,定义一套标准的支付流程,包含:初始化、查询商品信息、查询营销活动、用户付款、发货等环节,根据流程将相关接口标准化,统一需要的参数内容等。定义标准支付流程接口,使得关键逻辑的调用和平台、UI解耦,所有平台可以复用同一版本的关键逻辑甚至业务逻辑,最大限度降低维护成本。所定义的主要标准支付流程接口如下所示:
(1)初始化
init(const InitRequest&request,const std::shared_ptr<InitCallback>&callback)
包含:传入的初始化参数对象request,初始化回调对象callback;
(2)查询
query(const QueryRequest&request,const std::shared_ptr<QueryCallback>&callback)
包含:传入的查询参数对象request,查询回调对象callback;
(3)支付
pay(const PayRequest&request,const std::shared_ptr<PayCallback>&callback)
包含:传入的支付参数对象request,支付回调对象callback;
(4)发货
provide(const ProvideRequest&request,const std::shared_ptr<ProvideCallback>&callback)
包含:传入的发货参数对象request,发货回调对象callback。
S204:基于所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口生成针对所述指定业务的开发框架。
在本申请实施例中,服务端基于上述通用基础组件、组件接入接口、业务逻辑以及调用接口生成针对指定业务的开发框架。相较于将组件需求信息与业务逻辑融于一体的软件开发代码,本申请实施例提供的开发框架更具细粒度,能够实现业务逻辑最大限度的跨平台复用,同时兼容Android、iOS、Windows(steam)、switch、Windows(xbox)、PS4/5这些平台。
在一示例性的实施方式中,在基于所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口生成针对所述指定业务的开发框架之前,所述方法还包括:基于所述组件需求信息确定对应的用户界面组件;
相应的,基于所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口生成针对所述指定业务的开发框架,包括:首先,确定层级信息;其中,所述层级信息指示将所述用户界面组件设置于靠近用户的层级,以及将所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口设置于靠近机器的层级;然后,基于所述层级信息、所述用户界面组件、所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口得到针对所述指定业务的开发框架。
可以由组件需求信息确定对于UI组件的需求。UI组件用于实现用户界面的表示,包括按钮、弹窗、列表、标签等。层级信息指示将用户界面组件设置于靠近用户的层级,以及将通用基础组件、组件接入接口、业务逻辑以及调用接口设置于靠近机器的层级。由此得到的开发框架可参见图6-10,用户界面组件设置于原生层,通用基础组件、组件接入接口、业务逻辑以及调用接口设置于C/C++层。可以理解,UI组件使用各平台的原生组件,可以为用户提供更好的界面效果。通过层级信息,可以帮助用户更直观的理解开发框架的设计思想以及预估由此生成的软件产品的性能。如图6-10所示,除了UI部分存在平台差异外,整体业务流程,如页面跳转,网络请求发起等都能放到C++控制,主要涉及改动(比如当指定业务中存在逻辑变动时需要进行相关调整)的业务流程部分实现了跨平台统一。
在一示例性的实施方式中,在基于所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口生成针对所述指定业务的开发框架之前,所述方法还包括:当所述兼容需求信息指示的兼容对象包括的至少两类编程语言为冲突编程语言时,创建针对编程语言转换的接入层;其中,所述接入层用于基于预设调用规则对使用冲突编程语言的业务请求进行转换适配;
相应的,所述基于所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口生成针对所述指定业务的开发框架,包括:基于所述接入层、所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口得到针对所述指定业务的开发框架。
兼容对象包括的至少两类编程语言可以为第一类编程语言和第二类编程语言,第一类编程语言和第二类编程语言为冲突编程语言,比如第一类编程语言为Java,第二类编程语言为C语言、C++语言。由于需要兼容第一类编程语言和第二类编程语言,可以取其中一类编程语言为业务请求所使用的预设编程语言,借助所创建得针对编程语言转换的接入层,在接收到所使用的编程语言非预设编程语言时对其进行转换适配,以实现两类编程语言的兼容。当然,当至少三类编程语言为冲突编程语言时同理。作为接入层对使用冲突编程语言的业务请求进行转换适配的依据,预设调用规则可以是对象调用的思想。
基于接入层、通用基础组件、组件接入接口、业务逻辑以及调用接口得到针对指定业务的开发框架。参见图9-10,接入层对应“对象转换适配层”。可以将接入层、通用基础组件、组件接入接口、业务逻辑以及调用接口设置于C/C++层。
在实际应用中,本申请实施例提供了一套跨平台的SDK开发框架,支持在Android、iOS、Windows(steam)、switch、Windows(xbox)、PS4/5等平台下,能复用同一套支付核心流程代码,同时能够针对特定平台的基础组件库可扩展适配。将原来的每个平台下需要单独开发的版本,统一成了核心代码一套+特定依赖库多个的体系,大幅度降低了开发维护成本,提升开发效率。不管是Android、iOS或者是主机平台(比如switch、PS4/5等),支付大致的流程基本一致。但是平台语言和支持库的差异很大,本申请实施例解决了使用同一份支付业务逻辑代码,支持不同平台的应用完成支付的问题。
由以上本申请实施例提供的技术方案可见,本申请实施例中通过确定指定业务的应用需求信息对应的组件需求信息、业务逻辑以及兼容需求信息,然后根据兼容需求信息和组件需求信息确定通用基础组件和用于原生基础组件接入的组件接入接口,再者基于业务逻辑确定指示关键业务的关键逻辑以及为关键逻辑配置对应的调用接口,从而基于通用基础组件、组件接入接口、业务逻辑以及调用接口生成针对指定业务的开发框架。本申请实施例提供了一种具有较好兼容性的开发框架,提高了相关逻辑代码的复用性,降低了维护难度和工作量。可以保证不同平台在基础组件维度的适用性,利用组件接入接口克服部分平台因自身特性对于通用基础组件的不兼容问题。为关键逻辑配置对应的调用接口,可以提高对于核心业务的调用响应,降低其与平台、用户界面等的耦合度。相较于将组件需求信息与业务逻辑融于一体的软件开发代码,本申请实施例可以视作对该软件开发代码进行了有关通用基础组件、组件接入接口、业务逻辑以及调用接口四大部分的拆分。
以下介绍本申请一种开发框架应用方法的具体实施例,图3是本申请实施例提供的一种开发框架应用方法的流程示意图,本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图3所示,所述方法可以包括:
S301:获取目标框架数据,所述目标框架数据指示指定业务的开发框架,所述指示指定业务的开发框架是采用如前述步骤S201-S204所述的开发框架生成方法生成的;
S302:获取支持所述指定业务实现的服务器信息;
S303:基于所述目标框架数据和所述服务器信息,生成所述指定业务对应的软件开发工具包文件。
结合前述步骤S201-S204的相关记载,可以将目标框架数据视作实现指定业务跨平台适用的开发模板。在此基础上,服务端可以获取支持指定业务实现的服务器信息,从而基于目标框架数据和服务器信息,生成指定业务对应的软件开发工具包文件。相当于建立了开发模板与支持指定业务实现的后台机器设备间的关联关系,所生成的SDK文件可供软件开发方用以为相关软件赋予实现指定业务的功能。
由以上本申请实施例提供的技术方案可见,本申请实施例中利用目标框架数据和服务器信息,生成指定业务对应的软件开发工具包文件。基于指定业务的开发框架的较好兼容性,可以保证所生成的软件开发工具包的通用性,为提供给更多软件赋能创造了可能。软件开发方借助该软件工具包进行相关软件开发,提高了软件开发的便捷性和效率。
以下介绍本申请一种开发框架应用方法的具体实施例,图4是本申请实施例提供的一种开发框架应用方法的流程示意图,本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图4所示,所述方法可以包括:
S401:获取指定软件的功能需求信息;
S402:当所述功能需求信息指示实现指定业务时,获取目标软件开发工具包文件,所述目标软件开发工具包文件是如前述步骤S301-S303所述开发框架应用方法中所生成的所述指定业务对应的软件开发工具包文件;
S403:基于所述指定软件的代码文件和所述目标软件开发工具包文件对所述指定软件进行功能更新。
这里的执行主体可以是软件开发方的软件开发平台。指定软件可以是开发中尚未成型的软件,也可以是已开发成型的软件。功能需求信息指示指定软件需要被赋予何功能。当需要被赋予的功能为实现指定业务时,可以指定软件的代码文件和目标软件开发工具包文件(可参见前述步骤S301-S303的相关记载)对指定软件进行功能更新。可以理解,这里的功能更新为:在指定软件的已有功能基础上,新增了实现指定业务的功能;或者,利用该实现指定业务的功能替换了原有功能中的类似甚至相同功能。当然,指定软件也可以是尚待开发的软件,可以基于目标软件开发工具包文件进行开发。
在一示例性的实施方式中,所述基于所述指定软件的代码文件和所述目标软件开发工具包文件对所述指定软件进行功能更新,可以包括下述步骤:首先,确定所述指定软件对应的运行设备的组件兼容信息;然后,基于所述目标软件开发工具包文件,确定开发框架中基础组件的设置信息;其中,所述基础组件的设置信息指示通用基础组件和用于原生基础组件接入的组件接入接口;再者,当所述组件兼容信息指示所述运行设备排斥所述通用基础组件时,基于所述组件接入接口接入适配所述运行设备的目标原生基础组件;接着,基于所述组件接入接口与所述目标原生基础组件的接入关系更新所述基础组件的设置信息,得到更新后的目标软件开发工具包文件;最后,基于所述指定软件的代码文件和所述更新后的目标软件开发工具包文件对所述指定软件进行功能更新。
指定软件对应的运行设备,也即需要安装、运行指定软件的设备,比如手机、PC和主机。基于目标软件开发工具包文件,确定开发框架中基础组件的设置信息;其中,基础组件的设置信息指示通用基础组件和用于原生基础组件接入的组件接入接口。这里可以结合前述步骤S202中关于“通用基础组件和用于原生基础组件接入的组件接入接口”的相关记载。
当组件兼容信息指示所述运行设备排斥通用基础组件时,基于组件接入接口接入适配运行设备的目标原生基础组件。以PS4/5为运行设备为例,运行设备不兼容通用版本的基础组件,可以通过组件接入接口,单独开发原生的基础组件以适配。
基于组件接入接口与目标原生基础组件的接入关系更新基础组件的设置信息,得到更新后的目标软件开发工具包文件。从而基于指定软件的代码文件和更新后的目标软件开发工具包文件对指定软件进行功能更新。如图6所示,可以将“通用基础组件”和“用于原生基础组件接入的组件接入接口”视作开发框架所提供二选一的存在,这里将“用于原生基础组件接入的组件接入接口”进行了选择性的启用并保存相关配置。相较于前述步骤S202中在开发框架中对于“通用基础组件”和“用于原生基础组件接入的组件接入接口”的设置,这里提供了具体的软件开发示例,为指定软件对应的运行设备对于开发框架涉及的基础组件的有效兼容,从而提高了为指定软件赋予实现指定业务的功能的有效性。
由以上本申请实施例提供的技术方案可见,本申请实施例中利用指定软件的代码文件和目标软件开发工具包文件对指定软件进行功能更新。基于软件开发工具包的通用性,节省了软件开发方为指定软件赋予实现指定业务的功能的开发工作量和开发成本。
以下介绍本申请一种业务处理方法的具体实施例,本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。所述方法可以包括:
响应于指示关键业务的指定业务请求,基于调用接口和业务逻辑处理所述指定业务请求。
在本申请实施例中,该业务处理方法应用于客户端,客户端安装有如前述步骤S401-S403所述的开发框架应用方法中所更新的指定软件,指定软件包括指示指定业务的目标软件开发工具包文件。客户端接收指示关键业务的指定业务请求,利用调用接口和业务逻辑处理指定业务请求。该指定业务请求可以是由目标对象(比如测试人员、模拟器、线上用户)触发的。关键业务属于指定业务,调用接口和业务逻辑指示目标软件开发工具包文件中开发框架的业务逻辑设置信息,调用接口是为关键业务所配置的。这里可以结合前述步骤S203中关于“业务逻辑”、“关键业务”和“调用接口”的相关记载。比如,指定业务请求指示“查询”业务、“发货”业务等,利用调用接口和业务逻辑处理指定业务请求,也即根据指定业务请求携带的信息进行相关操作执行。
在实际应用中,如图9-11所示,指定软件在接入支付功能的时候,调用平台版本的支付入口发起支付,然后原生层入口转发直接调用Java、OC、C++的标准支付流程接口,直接进入跨平台的业务逻辑层。如此将关键业务的实现通过标准支付流程接口的调用来触发,将控制权放到C++层,达到统一各个平台的业务流程的目的。
在一示例性的实施方式中,在所述基于调用接口和业务逻辑处理所述指定业务请求之前,所述方法还包括下述步骤:首先,利用接入层确定所述指定业务请求所使用的编程语言;其中,所述接入层指示所述目标软件开发工具包文件中开发框架的接口设置信息,所述接入层用于基于预设调用规则对使用冲突编程语言的业务请求进行转换适配;然后,当所述所使用的编程语言与预设编程语言不匹配时,利用所述接入层对所述指定业务请求进行转换适配得到目标对象,以发送所述目标对象至所述调用接口。
这里可以结合前述步骤S204中关于“接入层”的相关记载,不再赘述。
示例性的,switch、xbox这些本身使用C语言开发的平台,调用C++标准支付流程接口是天然支持的。但Android平台访问C++原生的JNI方法则比较麻烦。参见图12,基于对象调用的思想,由接入层将指示Java、OC的指定业务请求进行转换适配得到目标对象(C++对象),以保证顺利实现关键业务。该过程可以涉及使用IDL,借助代理工具自动生成Java、OC和C++的接入层代码,这样可以将跨语言的方法调用统一为对象的调用(调度),以避免JNI的冗余做法,同时统一了Java和OC的接口方式。
进一步的,如图5所示,所述对所述指定业务请求进行转换适配得到目标对象,包括:
S501:从所述指定业务请求提取指定业务对象和操作信息;其中,所述操作信息指示针对所述指定业务对象的操作;
S502:根据所述操作信息确定使用所述预设编程语言的目标操作函数;
S503:绑定所述指定业务对象和目标操作函数得到所述目标对象。
基于指定业务请求携带的信息确定指定业务对象和操作信息,由于操作信息来自指定业务请求,可以视作使用非预设编程语言指示行为A的操作方法。由该操作信息确定使用预设编程语言的目标操作函数,目标操作函数也指示行为A。将指定业务对象和目标操作函数进行绑定得到目标对象。参见图12,相当于在接入层实现了上层对象的注入,以及重新绑定。示例性的,通过将上层对象注入C++层,实现Java和OC层对于使用C++的某个方法的调用。为了保持对外层的接口参数一致,在标准支付流程接口上,引入了一层对象转换适配层,专门负责Android、iOS这两个平台的对象转换适配。
由以上本申请实施例提供的技术方案可见,本申请实施例中利用调用接口处理指示关键业务的指定业务请求。由于调用接口的定义,使得不同平台的涉及关键业务的流程可以统一起来管理维护,相应的关键逻辑(甚至业务逻辑)统一成一份,为顺利实现关键业务提供了可靠保障。
本申请实施例还提供了一种开发框架生成装置,如图13所示,该开发框架生成装置1300包括:
响应模块1301:用于响应于指定业务的应用需求信息,确定对应的组件需求信息、业务逻辑以及兼容需求信息;其中,所述兼容需求信息所指示的兼容对象包括以下至少一个:至少两类设备、至少两类操作系统和至少两类编程语言;
确定模块1302:用于根据所述兼容需求信息和所述组件需求信息确定通用基础组件和用于原生基础组件接入的组件接入接口;
调用接口配置模块1303:用于基于所述业务逻辑确定指示关键业务的关键逻辑,以及为所述关键逻辑配置对应的调用接口;
框架生成模块1304:用于基于所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口生成针对所述指定业务的开发框架。
需要说明的,所述装置实施例中的装置与相关方法实施例基于同样的发明构思。
本申请实施例还提供了一种开发框架应用装置,所述装置包括:
框架获取模块:用于获取目标框架数据,所述目标框架数据指示指定业务的开发框架,所述指示指定业务的开发框架是采用如前述步骤S201-S204所述的开发框架生成方法生成的;
服务器信息获取模块:用于获取支持所述指定业务实现的服务器信息;
工具包生成模块:用于基于所述目标框架数据和所述服务器信息,生成所述指定业务对应的软件开发工具包文件。
需要说明的,所述装置实施例中的装置与相关方法实施例基于同样的发明构思。
本申请实施例还提供了一种开发框架应用装置,所述装置包括:
需求信息获取模块:用于获取指定软件的功能需求信息;
工具包获取模块:用于当所述功能需求信息指示实现指定业务时,获取目标软件开发工具包文件,所述目标软件开发工具包文件是如前述步骤S301-S303所述开发框架应用方法中所生成的所述指定业务对应的软件开发工具包文件;
更新模块:用于基于所述指定软件的代码文件和所述目标软件开发工具包文件对所述指定软件进行功能更新。
需要说明的,所述装置实施例中的装置与相关方法实施例基于同样的发明构思。
本申请实施例还提供了一种业务处理装置,配置于客户端,所述客户端安装有如前述步骤S401-S403的开发框架应用方法中所更新的指定软件,所述指定软件包括指示指定业务的目标软件开发工具包文件,所述装置包括:
业务处理模块:用于响应于指示关键业务的指定业务请求,基于调用接口和业务逻辑处理所述指定业务请求;其中,所述关键业务属于所述指定业务,所述调用接口和所述业务逻辑指示所述目标软件开发工具包文件中开发框架的业务逻辑设置信息,所述调用接口是为所述关键业务所配置的。
需要说明的,所述装置实施例中的装置与相关方法实施例基于同样的发明构思。
本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的开发框架生成方法、开发框架应用方法或者业务处理方法。
进一步地,图14示出了一种用于实现本申请实施例所提供的开发框架生成方法、开发框架应用方法或者业务处理方法的电子设备的硬件结构示意图,所述电子设备可以参与构成或包含本申请实施例所提供的开发框架生成装置、开发框架应用装置或者业务处理装置。如图14所示,电子设备100可以包括一个或多个(图中采用1002a、1002b,……,1002n来示出)处理器1002(处理器1002可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器1004、以及用于通信功能的传输装置1006。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图14所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备100还可包括比图14中所示更多或者更少的组件,或者具有与图14所示不同的配置。
应当注意到的是上述一个或多个处理器1002和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到电子设备100(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器1004可用于存储应用软件的软件程序以及模块,如本申请实施例中所述的开发框架生成方法对应的程序指令/数据存储装置、开发框架应用方法对应的程序指令/数据存储装置或者业务处理方法对应的程序指令/数据存储装置,处理器1002通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种开发框架生成方法、开发框架应用方法或者业务处理方法。存储器1004可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1004可进一步包括相对于处理器1002远程设置的存储器,这些远程存储器可以通过网络连接至电子设备100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备100的通信供应商提供的无线网络。在一个实例中,传输装置1006包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实施例中,传输装置1006可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与电子设备100(或移动设备)的用户界面进行交互。
本申请的实施例还提供了一种计算机可读存储介质,所述存储介质可设置于电子设备之中以保存用于实现方法实施例中一种开发框架生成方法、开发框架应用方法或者业务处理方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的开发框架生成方法、开发框架应用方法或者业务处理方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种开发框架生成方法,其特征在于,所述方法包括:
响应于指定业务的应用需求信息,确定对应的组件需求信息、业务逻辑以及兼容需求信息;其中,所述兼容需求信息所指示的兼容对象包括以下至少一个:至少两类设备、至少两类操作系统和至少两类编程语言;
根据所述兼容需求信息和所述组件需求信息确定通用基础组件和用于原生基础组件接入的组件接入接口;
基于所述业务逻辑确定指示关键业务的关键逻辑,以及为所述关键逻辑配置对应的调用接口;
基于所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口生成针对所述指定业务的开发框架。
2.根据权利要求1所述的方法,其特征在于:
在基于所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口生成针对所述指定业务的开发框架之前,所述方法还包括:
基于所述组件需求信息确定对应的用户界面组件;
基于所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口生成针对所述指定业务的开发框架,包括:
确定层级信息;其中,所述层级信息指示将所述用户界面组件设置于靠近用户的层级,以及将所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口设置于靠近机器的层级;
基于所述层级信息、所述用户界面组件、所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口得到针对所述指定业务的开发框架。
3.根据权利要求1所述的方法,其特征在于:
在基于所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口生成针对所述指定业务的开发框架之前,所述方法还包括:
当所述兼容需求信息指示的兼容对象包括的至少两类编程语言为冲突编程语言时,创建针对编程语言转换的接入层;其中,所述接入层用于基于预设调用规则对使用冲突编程语言的业务请求进行转换适配;
所述基于所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口生成针对所述指定业务的开发框架,包括:
基于所述接入层、所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口得到针对所述指定业务的开发框架。
4.一种开发框架应用方法,其特征在于,所述方法包括:
获取目标框架数据,所述目标框架数据指示指定业务的开发框架,所述指示指定业务的开发框架是采用如权利要求1至3中任一项所述的开发框架生成方法生成的;
获取支持所述指定业务实现的服务器信息;
基于所述目标框架数据和所述服务器信息,生成所述指定业务对应的软件开发工具包文件。
5.一种开发框架应用方法,其特征在于,所述方法包括:
获取指定软件的功能需求信息;
当所述功能需求信息指示实现指定业务时,获取目标软件开发工具包文件,所述目标软件开发工具包文件是如权利要求4所述开发框架应用方法中所生成的所述指定业务对应的软件开发工具包文件;
基于所述指定软件的代码文件和所述目标软件开发工具包文件对所述指定软件进行功能更新。
6.根据权利要求5所述的方法,其特征在于,所述基于所述指定软件的代码文件和所述目标软件开发工具包文件对所述指定软件进行功能更新,包括:
确定所述指定软件对应的运行设备的组件兼容信息;
基于所述目标软件开发工具包文件,确定开发框架中基础组件的设置信息;其中,所述基础组件的设置信息指示通用基础组件和用于原生基础组件接入的组件接入接口;
当所述组件兼容信息指示所述运行设备排斥所述通用基础组件时,基于所述组件接入接口接入适配所述运行设备的目标原生基础组件;
基于所述组件接入接口与所述目标原生基础组件的接入关系更新所述基础组件的设置信息,得到更新后的目标软件开发工具包文件;
基于所述指定软件的代码文件和所述更新后的目标软件开发工具包文件对所述指定软件进行功能更新。
7.一种业务处理方法,其特征在于,应用于客户端,所述客户端安装有如权利要求5至6中任一项所述的开发框架应用方法中所更新的指定软件,所述指定软件包括指示指定业务的目标软件开发工具包文件,所述方法包括:
响应于指示关键业务的指定业务请求,基于调用接口和业务逻辑处理所述指定业务请求;其中,所述关键业务属于所述指定业务,所述调用接口和所述业务逻辑指示所述目标软件开发工具包文件中开发框架的业务逻辑设置信息,所述调用接口是为所述关键业务所配置的。
8.根据权利要求7所述的方法,其特征在于,在所述基于调用接口和业务逻辑处理所述指定业务请求之前,所述方法还包括:
利用接入层确定所述指定业务请求所使用的编程语言;其中,所述接入层指示所述目标软件开发工具包文件中开发框架的接口设置信息,所述接入层用于基于预设调用规则对使用冲突编程语言的业务请求进行转换适配;
当所述所使用的编程语言与预设编程语言不匹配时,利用所述接入层对所述指定业务请求进行转换适配得到目标对象,以发送所述目标对象至所述调用接口。
9.根据权利要求8所述的方法,其特征在于,所述对所述指定业务请求进行转换适配得到目标对象,包括:
从所述指定业务请求提取指定业务对象和操作信息;其中,所述操作信息指示针对所述指定业务对象的操作;
根据所述操作信息确定使用所述预设编程语言的目标操作函数;
绑定所述指定业务对象和目标操作函数得到所述目标对象。
10.一种开发框架生成装置,其特征在于,所述装置包括:
响应模块:用于响应于指定业务的应用需求信息,确定对应的组件需求信息、业务逻辑以及兼容需求信息;其中,所述兼容需求信息所指示的兼容对象包括以下至少一个:至少两类设备、至少两类操作系统和至少两类编程语言;
确定模块:用于根据所述兼容需求信息和所述组件需求信息确定通用基础组件和用于原生基础组件接入的组件接入接口;
调用接口配置模块:用于基于所述业务逻辑确定指示关键业务的关键逻辑,以及为所述关键逻辑配置对应的调用接口;
框架生成模块:用于基于所述通用基础组件、所述组件接入接口、所述业务逻辑以及所述调用接口生成针对所述指定业务的开发框架。
11.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行以实现如权利要求1-3任一项所述的开发框架生成方法、如权利要求4所述的开发框架应用方法、如权利要求5-6任一项所述的开发框架应用方法或者如权利要求7-9任一项所述的业务处理方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-3任一项所述的开发框架生成方法、如权利要求4所述的开发框架应用方法、如权利要求5-6任一项所述的开发框架应用方法或者如权利要求7-9任一项所述的业务处理方法。
13.一种计算机程序产品,其特征在于,所述计算机程序产品包括至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由处理器加载并执行以实现如权利要求1-3任一项所述的开发框架生成方法、如权利要求4所述的开发框架应用方法、如权利要求5-6任一项所述的开发框架应用方法或者如权利要求7-9任一项所述的业务处理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111115916.8A CN115857878B (zh) | 2021-09-23 | 2021-09-23 | 一种开发框架生成方法及应用方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202111115916.8A CN115857878B (zh) | 2021-09-23 | 2021-09-23 | 一种开发框架生成方法及应用方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN115857878A true CN115857878A (zh) | 2023-03-28 |
| CN115857878B CN115857878B (zh) | 2025-11-21 |
Family
ID=85652301
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202111115916.8A Active CN115857878B (zh) | 2021-09-23 | 2021-09-23 | 一种开发框架生成方法及应用方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN115857878B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117075867A (zh) * | 2023-08-17 | 2023-11-17 | 唐山启奥科技股份有限公司 | 一种计算机基础技术开发框架系统 |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103713896A (zh) * | 2013-12-17 | 2014-04-09 | 北京京东尚科信息技术有限公司 | 用于访问服务器的软件开发工具包生成方法及装置 |
| CN104239071A (zh) * | 2014-10-13 | 2014-12-24 | 浪潮通信信息系统有限公司 | 一种基于通用组件和中转服务的跨平台移动应用开发框架系统 |
| CN110704131A (zh) * | 2019-08-29 | 2020-01-17 | 北京三快在线科技有限公司 | 一种html5应用调用原生应用的方法和装置 |
| CN111651156A (zh) * | 2020-06-04 | 2020-09-11 | 广州鲁邦通物联网科技有限公司 | 一种适配多种开发语言的软件开发工具包和调用方法 |
| CN112114789A (zh) * | 2019-06-20 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 一种业务开发方法及设备 |
| CN112235357A (zh) * | 2020-09-23 | 2021-01-15 | 建信金融科技有限责任公司 | 跨平台应用开发系统 |
| CN112988148A (zh) * | 2021-04-15 | 2021-06-18 | 上海简苏网络科技有限公司 | 一种支持多区块链、跨平台的sdk生成方法及装置 |
-
2021
- 2021-09-23 CN CN202111115916.8A patent/CN115857878B/zh active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103713896A (zh) * | 2013-12-17 | 2014-04-09 | 北京京东尚科信息技术有限公司 | 用于访问服务器的软件开发工具包生成方法及装置 |
| CN104239071A (zh) * | 2014-10-13 | 2014-12-24 | 浪潮通信信息系统有限公司 | 一种基于通用组件和中转服务的跨平台移动应用开发框架系统 |
| CN112114789A (zh) * | 2019-06-20 | 2020-12-22 | 腾讯科技(深圳)有限公司 | 一种业务开发方法及设备 |
| CN110704131A (zh) * | 2019-08-29 | 2020-01-17 | 北京三快在线科技有限公司 | 一种html5应用调用原生应用的方法和装置 |
| CN111651156A (zh) * | 2020-06-04 | 2020-09-11 | 广州鲁邦通物联网科技有限公司 | 一种适配多种开发语言的软件开发工具包和调用方法 |
| CN112235357A (zh) * | 2020-09-23 | 2021-01-15 | 建信金融科技有限责任公司 | 跨平台应用开发系统 |
| CN112988148A (zh) * | 2021-04-15 | 2021-06-18 | 上海简苏网络科技有限公司 | 一种支持多区块链、跨平台的sdk生成方法及装置 |
Non-Patent Citations (1)
| Title |
|---|
| 方秋枋: ""基于 C++ 构建微信客户端跨平台开发框架"", pages 1 - 47, Retrieved from the Internet <URL:《https://www.infoq.cn/article/9pu-jAuG1i8vdRDNVKKz》> * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117075867A (zh) * | 2023-08-17 | 2023-11-17 | 唐山启奥科技股份有限公司 | 一种计算机基础技术开发框架系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN115857878B (zh) | 2025-11-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11403196B2 (en) | Widget provisioning of user experience analytics and user interface / application management | |
| US10594800B2 (en) | Platform runtime abstraction | |
| CN108351792A (zh) | 使用应用容器管理代码和依赖性数据的传递 | |
| CN104580399A (zh) | 一种基于OpenStack和Spice的云桌面实现方法 | |
| US20180210768A1 (en) | Api-based service command invocation | |
| CN113076163A (zh) | 一种卡片渲染方法和装置 | |
| US10908948B2 (en) | Multiple application instances in operating systems that utilize a single process for application execution | |
| WO2018035195A1 (en) | Middleware interface and middleware interface generator | |
| US10262155B1 (en) | Disabling features using feature toggle | |
| CN111414154A (zh) | 前端开发的方法、装置、电子设备和存储介质 | |
| US10776180B1 (en) | Expression-based feature toggle in an application programming interface (API) | |
| CN111813407B (zh) | 游戏开发方法、游戏运行方法、装置和电子设备 | |
| US20240311097A1 (en) | Cloud Technology-Based Graphics Program Online Development Method and System, and Related Device | |
| CN110221840B (zh) | 应用程序的功能实现方法及装置、设备及存储介质 | |
| CN115357282A (zh) | 应用实现方法、装置、电子设备及存储介质 | |
| CN113254825B (zh) | 页面生成的方法、装置、电子设备和存储介质 | |
| CN111666098B (zh) | 基于业务组件创建toB工程的方法及系统 | |
| US9141352B2 (en) | Dynamically building locale objects at run-time | |
| CN113805958B (zh) | 一种基于osb api规范的第三方服务接入方法和系统 | |
| CN113849242A (zh) | 生成、注册ui服务包、以及加载ui服务的方法及装置 | |
| CN115857878A (zh) | 一种开发框架生成方法及应用方法 | |
| CN111290746B (zh) | 对象访问方法、装置、设备及存储介质 | |
| WO2021097683A1 (zh) | 安卓系统启动的方法、装置、设备及存储介质 | |
| CN113961194B (zh) | 基于Flutter跨应用的工程构建方法、系统、终端及介质 | |
| CN113535185B (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 |