本技术涉及计算机,具体涉及一种应用构建方法、装置、计算设备及计算机存储介质。
背景技术:
1、随着互联网通信技术的快速发展,具有各种各样功能的应用app也层出不穷,为用户带来了更加便捷的体验。
2、现在的应用开发构建方式主要是通过编写代码的方式来实现,应用模块之间存在依赖时,需要直接基于模块之间的依赖去做应用的开发,进行代码接入,从而增加了应用开发难度大,应用开发成本高。
技术实现思路
1、本技术的目的是提供一种应用构建方法、装置、计算设备及计算机存储介质,以解决现有技术存在的通过编写代码的方式来实现应用开发构建,应用模块之间存在依赖时,需要直接基于模块之间的依赖去做应用的开发,进行代码接入,从而增加了应用开发难度大,应用开发成本高等问题。
2、根据本技术实施例的一个方面,提供了一种应用构建方法,应用基于容器化框架进行构建,方法包括:
3、获取待构建容器的至少一个生产者异步依赖的虚拟api信息;
4、利用预设注解对待构建容器的至少一个生产者进行注解标识;
5、通过容器化框架的注解处理器,基于虚拟api信息及预设注解对应的注解信息生成待构建容器的容器代码及容器元信息,完成容器构建,其中,容器代码包含至少一个生产者对应的协程代码;
6、响应于应用构建请求,获取应用构建所需的至少一个容器;
7、通过容器化框架的编译插件读取应用脚本为各个容器配置的容器参数,根据容器参数、至少一个容器的容器元信息及至少一个容器对应的容器代码生成应用代码,完成应用构建。
8、进一步地,利用预设注解对待构建容器的至少一个生产者进行注解标识进一步包括:
9、利用第一注解对待构建容器的至少一个生产者进行第一注解标识,以标识至少一个生产者为待构建容器的容器入口。
10、进一步地,利用预设注解对待构建容器的至少一个生产者进行注解标识进一步包括:
11、通过第二注解对待构建容器的至少一个生产者进行第二注解标识,以标识至少一个生产者的配置参数来源于应用脚本,并为生产者赋予生产者标识,以根据生产者标识索引到生产者并为生产者配置相应的配置参数。
12、进一步地,利用预设注解对待构建容器的至少一个生产者进行注解标识进一步包括:
13、通过第三注解对触发待构建容器的至少一个生产者执行的触发器进行第三注解标识。
14、进一步地,在根据容器参数、至少一个容器的容器元信息及至少一个容器对应的容器代码生成应用代码,完成应用构建之前,方法还包括:根据至少一个容器的容器元信息进行静态校验;
15、根据容器参数、至少一个容器的容器元信息及至少一个容器对应的容器代码生成应用代码,完成应用构建进一步包括:
16、若校验通过,则根据容器参数、至少一个容器的容器元信息及至少一个容器对应的容器代码生成应用代码,完成应用构建。
17、进一步地,静态校验包括:参数校验;
18、根据至少一个容器的容器元信息进行静态校验进一步包括:
19、判断至少一个容器中任一生产者的待配置参数对应的参数标识是否存在于容器参数中;
20、若是,则确定通过参数校验;
21、若否,则确定未通过参数校验。
22、进一步地,静态校验包括:依赖完备性校验;
23、根据至少一个容器的容器元信息进行静态校验进一步包括:
24、判断至少一个容器中任一生产者所依赖的虚拟api是否存在目标生产者;
25、若是,则确定通过依赖完备性校验,并生成生产者依赖图;
26、若否,则确定未通过依赖完备性校验,并进行错误报告。
27、进一步地,静态校验包括:依赖环校验;
28、根据至少一个容器的容器元信息进行静态校验进一步包括:
29、判断生产者依赖图中生产者之间的依赖关系是否为单向依赖;
30、若是,则确定通过依赖环校验;
31、若否,则确定未通过依赖环校验。
32、进一步地,在基于虚拟api信息及预设注解对应的注解信息生成待构建容器的容器代码及容器元信息之后,方法还包括:根据容器元信息生成预设格式的字符串,并为字符串生成对应的类,其中,类属于目标包名,类对应的类名中包含容器标识。
33、进一步地,在获取应用构建所需的至少一个容器之后,方法还包括:从目标包名中获取类名中包含的容器标识与至少一个容器的容器标识相匹配的至少一个类,根据至少一个类,汇总得到至少一个容器的容器元信息。
34、根据本技术实施例的另一方面,提供了一种应用构建装置,应用基于容器化框架进行构建,装置包括:
35、第一获取模块,适于获取待构建容器的至少一个生产者异步依赖的虚拟api信息;
36、注解标识模块,适于利用预设注解对待构建容器的至少一个生产者进行注解标识;
37、第一生成模块,适于通过容器化框架的注解处理器,基于虚拟api信息及预设注解对应的注解信息生成待构建容器的容器代码及容器元信息,完成容器构建,其中,容器代码包含至少一个生产者对应的协程代码;
38、第二获取模块,适于响应于应用构建请求,获取应用构建所需的至少一个容器;
39、第二生成模块,适于通过容器化框架的编译插件读取应用脚本为各个容器配置的容器参数,根据容器参数、至少一个容器的容器元信息及至少一个容器对应的容器代码生成应用代码,完成应用构建。
40、根据本技术实施例的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
41、存储器用于存放至少一可执行指令,可执行指令使处理器执行上述应用构建方法对应的操作。
42、根据本技术实施例的再一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述应用构建方法对应的操作。
43、根据本技术的还一方面,提供了一种计算机程序产品,包括至少一可执行指令,可执行指令使处理器执行如上述应用构建方法对应的操作。
44、根据本技术实施例提供的方案,通过异步依赖注入的方式进行容器的开发,容器之间的依赖是通过容器的生产者所生产出来的虚拟api实现的,通过限定做依赖的虚拟api,便可以使用依赖的虚拟api所实现的功能,容器之间不互相依赖,应用接入使用某个功能的时候,不需要编写代码,而是直接通过应用脚本配置一些容器参数,编译到app中就可以使用,不需要做代码接入,只需要通过应用脚本做配置即可,便可满足应用相应的要求,由于不需要再直接基于模块之间的依赖去做应用的开发,不需要做代码接入操作,从而降低了应用开发难度,节省了开发成本,改变了传统业务开发的交互模式。由于是容器化框架是基于hilt的,因此,异步依赖注入能力支持任意线程池。
45、上述说明仅是本技术技术方案的概述,为了能够更清楚了解本技术的技术手段,而可依照说明书的内容予以实施,并且为了让本技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本技术的具体实施方式。