本发明涉及应用软件,具体涉及一种跨平台软件开发框架与兼容性优化方法。
背景技术:
1、随着科技的蓬勃发展,目前市面上的操作系统存在很多,而由于每个用户所使用的操作系统不同,在面对同一应用程序时,往往需要通过设计与其相适配的操作系统相对应版本的应用程序,才能在相适配的操作系统中实现应用程序的正常运行。
2、例如,目前市面上存在多种文本编辑软件,主要运行在windows系统和mac系统上,两个操作系统开发软件的方式的差异较大,导致文本编辑软件不能同时兼容两个平台,如果需要能在两个操作系统上同时运行,则需要对于每个操作系统平台投入相应的开发人员各自进行开发,人力成本较高;故目前急需一种能够跨平台进行软件开发的技术方案。
技术实现思路
1、本发明的主要目的是提供一种跨平台软件开发框架与兼容性优化方法,旨在解决目前急需一种能够跨平台进行软件开发的技术方案的问题。
2、本发明提出的技术方案为:
3、一种跨平台软件开发框架与兼容性优化方法,应用于跨平台软件开发框架与兼容性优化系统;所述系统包括服务器;所述服务器包括处理模块和存储模块;所述处理模块通信连接于所述存储模块;所述方法,包括:
4、所述处理模块获取所述存储模块中存储的原始应用软件数据包,并获取所述原始应用软件数据包所对应的原始应用平台;
5、所述处理模块获取需要进行兼容转换的目标应用平台;
6、所述处理模块针对目标应用平台,基于wails框架将所述原始应用软件数据包进行初始化,以生成与目标应用平台相适配的目标应用软件项目,其中,所述目标应用软件项目包括前端模块以及后端模块;
7、所述处理模块将所述原始应用软件数据包的原始代码移植至所述后端模块,以得到后端移植代码;
8、所述前端模块调用所述后端移植代码,以编译生成目标应用平台对应的目标应用软件数据包。
9、优选的,所述处理模块将所述目标应用软件项目的原始代码移植至所述后端模块,得到后端移植代码,和所述前端模块调用所述后端移植代码,以编译生成目标应用平台对应的目标应用软件数据包的步骤之间,还包括:
10、所述处理模块通过动态的运行时库对所述后端移植代码中的函数和结构体进行绑定。
11、优选的,所述前端模块基于javascript语言编码而成,所述后端模块基于go语言编码而成;所述处理模块针对目标应用平台,基于wails框架将所述原始应用软件数据包进行初始化,以生成与目标应用平台相适配的目标应用软件项目,包括:
12、所述处理模块确定所述目标应用平台所对应的模板文件,并标记目标模板文件;
13、所述处理模块基于所述目标模板文件对所述原始应用软件数据包进行初始化,以生成与目标应用平台相适配的目标应用软件项目。
14、优选的,所述处理模块将所述原始应用软件数据包的原始代码移植至所述后端模块,以得到后端移植代码,包括:
15、所述处理模块将所述原始应用平台的原始代码的复制至所述后端模块的go语言模板文件中;
16、所述处理模块对所述go语言模板文件中的go语言代码进行校验,得到校验结果,其中,所述校验结果为通过或不通过中任一项;
17、当所述校验结果为通过时,所述处理模块将当前go语言模板文件中的go语言代码作为后端移植代码;
18、当所述校验结果为不通过时,再次执行所述对所述go语言模板文件中的go语言代码进行校验,得到校验结果,及之后的步骤。
19、优选的,所述系统还包括与所述处理模块通信连接的用户终端;所述前端模块调用所述后端移植代码,以编译生成目标应用平台对应的目标应用软件数据包,之后还包括:
20、所述处理模块获取用户终端的应用平台类型;
21、当用户终端的应用平台类型和所述目标应用平台一致时,所述处理模块将所述用户终端标记为目标终端;
22、所述处理模块将目标应用软件数据包发送至所述目标终端。
23、优选的,所述处理模块将目标应用软件数据包发送至所述目标终端,包括:
24、所述处理模块获取所述服务器与所述用户终端之间的通信时延和实时传输速率;
25、所述处理模块基于所述目标应用软件数据包的大小,以及所述服务器与所述用户终端之间的通信时延和实时传输速率计算得到第一传输时长,其中,所述第一传输时长为处理模块将目标应用软件数据包发送至目标终端所需要的时长;
26、所述处理模块获取第一预设时长;
27、所述处理模块判断所述第一传输时长是否小于所述第一预设时长;
28、若是,所述处理模块将目标应用软件数据包发送至所述目标终端。
29、优选的,所述系统还包括多个与所述服务器通信连接的中转节点;所述用户终端与所述中转节点通信连接;所述处理模块判断所述第一传输时长是否小于所述第一预设时长,之后还包括:
30、若否,所述处理模块获取各中转节点与所述服务器之间的实时传输速率,并标记为第一速率;
31、所述处理模块获取各中转节点与所述用户终端之间的实时传输速率,并标记为第二速率;
32、所述处理模块获取各中转节点与所述服务器之间的通信时延,并标记为第一时延;
33、所述处理模块获取各中转节点与所述用户终端之间的通信时延,并标记为第二时延;
34、所述处理模块基于同一中转节点的所述第一速率、第二速率、第一时延和第二时延计算得到第二传输时长,其中,所述第二传输时长为处理模块将目标应用软件数据包通过中转节点发送至目标终端所需要的时长;
35、所述处理模块将小于第一预设时长的第二传输时长所对应的中转节点标记为优选节点;
36、所述处理模块将目标应用软件数据包发送至所述优选节点;
37、所述优选节点将接收的目标应用软件数据包发送至所述目标终端。
38、优选的,所述处理模块基于同一中转节点的所述第一速率、第二速率、第一时延和第二时延计算得到第二传输时长的计算公式为:
39、
40、式中,tcs,2为所述第二传输时长,单位为s;sm为所述目标应用软件数据包的大小,单位为bit;v1为第一速率,单位为b/s;v2为第二速率,单位为b/s;t1为第一时延,单位为s;t2为第二时延,单位为s。
41、优选的,所述处理模块将小于第一预设时长的第二传输时长所对应的中转节点标记为优选节点,之后还包括:
42、所述处理模块判断所述优选节点的数量是否为多个;
43、当所述优选节点的数量为多个时,所述处理模块将第二传输时长最小的中转节点标记为最终节点;
44、所述处理模块将目标应用软件数据包发送至所述最终节点;
45、所述最终节点将接收的目标应用软件数据包发送至所述目标终端。
46、优选的,所述处理模块将小于第一预设时长的第二传输时长所对应的中转节点标记为优选节点,之后还包括:
47、所述处理模块判断所述优选节点的数量是否为0;
48、当所述优选节点的数量为0时,所述处理模块生成用于表述当前没有第二传输时长能够满足第一预设时长的中转节点的反馈信息。
49、通过上述技术方案,能实现以下有益效果:
50、本发明提出的一种跨平台软件开发框架与兼容性优化方法,先获取存储模块中的的原始应用软件数据包,再获取需要进行兼容转换的目标应用平台;之后再针对目标应用平台,基于wails框架进行初始化,以生成与目标应用平台相适配的目标应用软件项目;然后将将原始应用软件数据包的原始代码移植至所述后端模块,以得到后端移植代码;最后通过前端模块调用后端移植代码,以编译生成目标应用平台对应的目标应用软件数据包,这里的目标应用软件数据包即是能够运行于目标应用平台的软件程序;即本方案能使应用软件程序快速兼容不同应用平台,从而实现跨平台进行软件开发,同时也能够提升跨平台桌面应用程序的构建效率。
1.一种跨平台软件开发框架与兼容性优化方法,其特征在于,应用于跨平台软件开发框架与兼容性优化系统;所述系统包括服务器;所述服务器包括处理模块和存储模块;所述处理模块通信连接于所述存储模块;所述方法,包括:
2.根据权利要求1所述的一种跨平台软件开发框架与兼容性优化方法,其特征在于,所述处理模块将所述目标应用软件项目的原始代码移植至所述后端模块,得到后端移植代码,和所述前端模块调用所述后端移植代码,以编译生成目标应用平台对应的目标应用软件数据包的步骤之间,还包括:
3.根据权利要求1所述的一种跨平台软件开发框架与兼容性优化方法,其特征在于,所述前端模块基于javascript语言编码而成,所述后端模块基于go语言编码而成;所述处理模块针对目标应用平台,基于wails框架将所述原始应用软件数据包进行初始化,以生成与目标应用平台相适配的目标应用软件项目,包括:
4.根据权利要求3所述的一种跨平台软件开发框架与兼容性优化方法,其特征在于,所述处理模块将所述原始应用软件数据包的原始代码移植至所述后端模块,以得到后端移植代码,包括:
5.根据权利要求1所述的一种跨平台软件开发框架与兼容性优化方法,其特征在于,所述系统还包括与所述处理模块通信连接的用户终端;所述前端模块调用所述后端移植代码,以编译生成目标应用平台对应的目标应用软件数据包,之后还包括:
6.根据权利要求5所述的一种跨平台软件开发框架与兼容性优化方法,其特征在于,所述处理模块将目标应用软件数据包发送至所述目标终端,包括:
7.根据权利要求6所述的一种跨平台软件开发框架与兼容性优化方法,其特征在于,所述系统还包括多个与所述服务器通信连接的中转节点;所述用户终端与所述中转节点通信连接;所述处理模块判断所述第一传输时长是否小于所述第一预设时长,之后还包括:
8.根据权利要求7所述的一种跨平台软件开发框架与兼容性优化方法,其特征在于,所述处理模块基于同一中转节点的所述第一速率、第二速率、第一时延和第二时延计算得到第二传输时长的计算公式为:
9.根据权利要求7所述的一种跨平台软件开发框架与兼容性优化方法,其特征在于,所述处理模块将小于第一预设时长的第二传输时长所对应的中转节点标记为优选节点,之后还包括:
10.根据权利要求7所述的一种跨平台软件开发框架与兼容性优化方法,其特征在于,所述处理模块将小于第一预设时长的第二传输时长所对应的中转节点标记为优选节点,之后还包括: