本公开涉及计算机领域,特别是涉及一种应用代码生成方法、相关装置和介质。
背景技术:
1、目前的软件代码开发提效,主要针对前端对象。前端对象根据后端已经设计到的组件(内部混合封装有逻辑和对象界面的定义部分),通过可视化方式进行组合。这种方式表面上有利于前端对象在不懂代码时快速生成程序,但组件内部已经把逻辑和对象界面封装好,不能随意改动,难以满足复杂的布局模式。组件可定制化程度低。而目前后台开发人员仍然是无论对于逻辑还是对象界面的定义的代码,都要人工编写输入,没有自动化工具,效率低下。目前没有真正面向开发人员的代码提效方案。
技术实现思路
1、本公开实施例提供了一种应用代码生成方法、相关装置和介质,它能够提高后台开发人员面对生成逻辑和界面定义混合型的代码时的代码生成效率,且提高可定制化程度。
2、根据本公开的一方面,提供了一种应用代码生成方法,所述应用代码包括逻辑代码部分和页面组件部分,所述页面组件部分用于生成所述应用中的页面,所述逻辑代码部分用于生成对所述页面进行触发响应的逻辑,所述应用代码生成方法包括:
3、展示页面组件编辑区域,所述页面组件编辑区域具有编辑工具;
4、接收在所述页面组件编辑区域上利用所述编辑工具生成的组件树结构;
5、基于所述组件树结构,生成所述页面组件部分的元数据;
6、将所述元数据编译成所述页面组件部分;
7、接收输入的逻辑代码部分,所述逻辑代码部分包含对所述页面组件部分的调用语句,通过所述调用语句将所述逻辑代码部分和所述页面组件部分整合成所述应用代码。
8、根据本公开的一方面,提供了一种应用代码生成装置,所述应用代码包括逻辑代码部分和页面组件部分,所述页面组件部分用于生成所述应用中的页面,所述逻辑代码部分用于生成对所述页面进行触发响应的逻辑,所述应用代码生成装置包括:
9、第一展示单元,用于展示页面组件编辑区域,所述页面组件编辑区域具有编辑工具;
10、第一接收单元,用于接收在所述页面组件编辑区域上利用所述编辑工具生成的组件树结构;
11、第一生成单元,用于基于所述组件树结构,生成所述页面组件部分的元数据;
12、编译单元,用于将所述元数据编译成所述页面组件部分;
13、第二接收单元,用于接收输入的逻辑代码部分,所述逻辑代码部分包含对所述页面组件部分的调用语句,通过所述调用语句将所述逻辑代码部分和所述页面组件部分整合成所述应用代码。
14、可选地,所述第一生成单元包括:
15、第一界面展示单元,用于展示第一编辑界面,并在所述第一编辑界面中接收组件的总体参数;
16、第二界面展示单元,用于响应于对所述组件树结构中节点的选择,展示第二编辑界面,并在所述第二编辑界面中接收所述节点的节点参数;
17、元数据生成单元,用于基于所述组件树结构、所述总体参数和所述节点参数,生成所述元数据。
18、可选地,所述元数据包括与所述组件对应的第一元数据部分,所述第一元数据部分包括根节点标识和多个第一配置项;
19、所述第一界面展示单元具体用于:展示与多个所述第一配置项对应的多个第一编辑子界面;
20、所述元数据生成单元具体用于:
21、获取所述组件树结构的所述根节点标识;
22、基于与多个所述第一配置项对应的多个所述第一编辑子界面上接收的所述总体参数,确定多个所述第一配置项;
23、将所述根节点标识和多个所述第一配置项整合成所述第一元数据部分。
24、可选地,所述元数据包括与所述节点对应的第二元数据部分,所述第二元数据部分包括节点位置关联信息和多个第二配置项;
25、所述第二界面展示单元具体用于:展示与多个所述第二配置项对应的多个第二编辑子界面;
26、所述元数据生成单元具体用于:
27、基于所述节点在所述组件树结构中的位置,确定所述节点位置关联信息;
28、基于与多个所述第二配置项对应的多个所述第二编辑子界面上接收的所述节点参数,确定多个所述第二配置项;
29、将所述节点位置关联信息和多个所述第二配置项整合成所述第二元数据部分。
30、可选地,多个所述第二配置项包括节点类型和多个第三配置项;所述编译单元包括:
31、模板获取单元,用于获取所述节点类型对应的节点代码段编译模板;
32、模板填充单元,用于将多个所述第一配置项和多个所述第三配置项填入所述节点代码段编译模板,得到填充结果;
33、填充结果编译单元,用于对所述填充结果进行编译,得到所述节点的节点代码段;
34、页面组件生成单元,用于基于所述节点在所述组件树结构中的位置以及所述节点代码段,生成所述页面组件部分。
35、可选地,所述填充结果编译单元具体用于:
36、对所述填充结果中的多个所述第一配置项和多个所述第三配置项中每个配置项,获取所述配置项对应的编译器;
37、利用所述编译器编译所述配置项,得到所述节点的节点代码段。
38、可选地,所述页面组件生成单元具体包括:
39、技术栈类型获取子单元,用于获取所述应用代码采用的技术栈类型;
40、技术栈模板获取子单元,用于获取所述技术栈类型对应的技术栈模板;
41、页面组件生成子单元,用于利用所述技术栈模板,基于所述节点在所述组件树结构中的位置以及所述节点代码段,生成所述页面组件部分。
42、可选地,所述技术栈模板包含与所述节点对应的选择条件,所述选择条件与所述第一配置项和所述第二配置项相关;
43、所述页面组件生成子单元具体用于:
44、所述利用所述技术栈模板,基于所述节点在所述组件树结构中的位置以及所述节点代码段,生成所述页面组件部分,包括:
45、基于所述第一配置项和所述第二配置项,确定满足所述选择条件;
46、将所述节点代码段基于所述节点在所述组件树结构中的位置封装到所述技术栈模板,以生成所述页面组件部分。
47、可选地,所述第一界面展示单元具体用于:
48、展示所述第一编辑界面;
49、在所述第一编辑界面中接收第一组件类型;
50、展示所述第一组件类型对应的推荐总体参数;
51、接收对所述推荐总体参数的修改,以修改后的所述推荐总体参数作为所述总体参数。
52、可选地,所述展示所述第一组件类型对应的推荐总体参数,包括:
53、获取对象终端日志中的多个第一编辑界面展示事件,多个所述第一编辑界面展示事件具有第二组件类型;
54、获取多个所述第一编辑界面展示事件中所述第二组件类型与所述第一组件类型相同的所述第一编辑界面展示事件,作为第一目标界面展示事件;
55、基于所述第一目标界面展示事件中在所述第一编辑界面中接收的所述总体参数,确定所述组件类型对应的推荐总体参数。
56、可选地,所述第二界面展示单元具体用于:
57、展示所述第二编辑界面;
58、在所述第二编辑界面中接收第一节点类型;
59、展示所述第一节点类型对应的推荐节点参数;
60、接收对所述推荐节点参数的修改,以修改后的所述推荐节点参数作为所述节点参数。
61、可选地,所述展示所述第一节点类型对应的推荐节点参数,包括:
62、获取对象终端日志中的多个第二编辑界面展示事件,多个所述第二编辑界面展示事件具有第二节点类型;
63、获取多个所述第二编辑界面展示事件中所述第二节点类型与所述第一节点类型相同的所述第二编辑界面展示事件,作为第二目标界面展示事件;
64、基于所述第二目标界面展示事件中在所述第二编辑界面中接收的所述节点参数,确定所述节点类型对应的推荐节点参数。
65、可选地,所述编辑工具包括节点工具和连接关系工具;
66、所述第一接收单元具体用于:
67、响应于对所述节点工具的选择,在所述页面组件编辑区域上生成节点;
68、响应于对所述连接关系工具的选择,在所述页面组件编辑区域上生成所述节点之间的所述连接关系,其中,所述节点经由所述连接关系连接,形成所述组件树结构。
69、可选地,所述页面组件部分选自候选页面组件部分库,所述候选页面组件部分库包括多个候选页面组件部分;
70、所述应用代码生成装置还包括:
71、调用选项展示单元,用于展示候选页面组件部分库的调用选项;
72、候选页面组件展示单元,用于响应于对所述调用选项的选择,展示所述候选页面组件部分库中多个所述候选页面组件部分;
73、候选页面组件选择单元,用于响应于对多个所述候选页面组件部分的选择,将选择的所述候选页面组件部分作为所述页面组件部分;
74、调用语句生成单元,用于生成对所述页面组件部分的调用语句。
75、可选地,所述候选页面组件展示单元,具体用于:
76、响应于对所述调用选项的选择,基于对象终端日志,确定多个所述候选页面组件部分被调用的第一次数;
77、基于对象终端日志,确定多个所述候选页面组件部分展示后被选择的第二次数;
78、基于所述第一次数和所述第二次数,确定多个所述候选页面组件部分的展示顺序;
79、基于所述展示顺序,展示多个所述候选页面组件部分。
80、可选地,所述页面组件部分选自候选页面组件部分库,所述候选页面组件部分库包括多个候选页面组件部分,每个所述候选页面组件部分具有组件描述信息;
81、所述应用代码生成装置还包括:
82、输入区域展示单元,用于展示调用关键词输入区域;
83、关键词接收单元,用于接收在所述调用关键词输入区域输入的关键词;
84、候选页面组件选择单元,用于基于所述关键词与多个所述候选页面组件部分的所述组件描述信息的匹配,从多个所述候选页面组件部分中选择出所述页面组件部分;
85、调用语句生成单元,用于生成对所述页面组件部分的调用语句。
86、根据本公开的一方面,提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的应用代码生成方法。
87、根据本公开的一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的应用代码生成方法。
88、根据本公开的一方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器读取并执行,使得该计算机设备执行如上所述的应用代码生成方法。
89、本公开实施例中,将应用代码明确分成逻辑代码部分和页面组件部分。页面组件部分不含有逻辑,因此可以通过可视化的方式利用编辑工具形成组件树结构,基于组件树结构生成元数据,再对元数据编译成页面组件部分。这样,使得页面组件部分的开发效率大大提高,进而提高总体代码生成效率。页面部分专门用页面组件部分维护,便于单独更改页面,提高开发灵活性。相对于现有技术中只能针对封装有逻辑和界面部分二者的组件进行可视化组合的方式,本公开实施例能够满足复杂的布局模式,组件可定制化程度高。
90、本公开的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开而了解。本公开的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
1.一种应用代码生成方法,其特征在于,所述应用代码包括逻辑代码部分和页面组件部分,所述页面组件部分用于生成所述应用中的页面,所述逻辑代码部分用于生成对所述页面进行触发响应的逻辑,所述应用代码生成方法包括:
2.根据权利要求1所述的应用代码生成方法,其特征在于,所述基于所述组件树结构,生成所述页面组件部分的元数据,包括:
3.根据权利要求2所述的应用代码生成方法,其特征在于,所述元数据包括与所述组件对应的第一元数据部分,所述第一元数据部分包括根节点标识和多个第一配置项;
4.根据权利要求3所述的应用代码生成方法,其特征在于,所述元数据包括与所述节点对应的第二元数据部分,所述第二元数据部分包括节点位置关联信息和多个第二配置项;
5.根据权利要求4所述的应用代码生成方法,其特征在于,多个所述第二配置项包括节点类型和多个第三配置项;
6.根据权利要求5所述的应用代码生成方法,其特征在于,所述对所述填充结果进行编译,得到所述节点的节点代码段,包括:
7.根据权利要求5所述的应用代码生成方法,其特征在于,所述基于所述节点在所述组件树结构中的位置以及所述节点代码段,生成所述页面组件部分,包括:
8.根据权利要求7所述的应用代码生成方法,其特征在于,所述技术栈模板包含与所述节点对应的选择条件,所述选择条件与所述第一配置项和所述第二配置项相关;
9.根据权利要求2所述的应用代码生成方法,其特征在于,所述展示第一编辑界面,并在所述第一编辑界面中接收所述组件的总体参数,包括:
10.根据权利要求9所述的应用代码生成方法,其特征在于,所述展示所述第一组件类型对应的推荐总体参数,包括:
11.根据权利要求2所述的应用代码生成方法,其特征在于,所述展示第二编辑界面,并在所述第二编辑界面中接收所述节点的节点参数,包括:
12.根据权利要求11所述的应用代码生成方法,其特征在于,所述展示所述第一节点类型对应的推荐节点参数,包括:
13.根据权利要求1所述的应用代码生成方法,其特征在于,所述编辑工具包括节点工具和连接关系工具;
14.根据权利要求1所述的应用代码生成方法,其特征在于,所述页面组件部分选自候选页面组件部分库,所述候选页面组件部分库包括多个候选页面组件部分;
15.根据权利要求14所述的应用代码生成方法,其特征在于,所述响应于对所述调用选项的选择,展示所述候选页面组件部分库中多个所述候选页面组件部分,包括:
16.根据权利要求1所述的应用代码生成方法,其特征在于,所述页面组件部分选自候选页面组件部分库,所述候选页面组件部分库包括多个候选页面组件部分,每个所述候选页面组件部分具有组件描述信息;
17.一种应用代码生成装置,其特征在于,所述应用代码包括逻辑代码部分和页面组件部分,所述页面组件部分用于生成所述应用中的页面,所述逻辑代码部分用于生成对所述页面进行触发响应的逻辑,所述应用代码生成装置包括:
18.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现根据权利要求1至16任意一项所述的应用代码生成方法。
19.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现根据权利要求1至16任意一项所述的应用代码生成方法。
20.一种计算机程序产品,该计算机程序产品包括计算机程序,所述计算机程序被计算机设备的处理器读取并执行,使得该计算机设备执行根据权利要求1至16任意一项所述的应用代码生成方法。
