[发明专利]跨平台桌面应用程序的实现方法及其相关设备在审
| 申请号: | 202211321617.4 | 申请日: | 2022-10-26 |
| 公开(公告)号: | CN115525282A | 公开(公告)日: | 2022-12-27 |
| 发明(设计)人: | 邱红蕾 | 申请(专利权)人: | 平安银行股份有限公司 |
| 主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F8/30;G06F8/76 |
| 代理公司: | 深圳紫藤知识产权代理有限公司 44570 | 代理人: | 熊恒定 |
| 地址: | 518000 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 平台 桌面 应用程序 实现 方法 及其 相关 设备 | ||
1.一种跨平台桌面应用程序的实现方法,其特征在于,所述方法包括:
获取桌面应用程序运行的原始应用平台以及目标应用平台;
针对所述目标应用平台,基于wails框架进行初始化,生成与该目标应用平台相适配的目标项目,其中,所述目标项目包括前端模块以及后端模块;
将所述原始应用平台的原始代码移植至所述后端模块中,得到移植代码;
通过动态的运行时库对所述移植代码中的函数和结构体进行绑定;
利用所述前端模块直接调用所述后端模块已绑定的移植代码,编译生成跨平台的所述桌面应用程序。
2.根据权利要求1所述的跨平台桌面应用程序的实现方法,其特征在于,所述前端模块基于JavaScript语言编码,所述后端模块基于Go语言编码,针对所述目标应用平台,基于wails框架进行初始化,生成与该目标应用平台相适配的目标项目,包括:
根据所述目标应用平台确定与该目标应用平台对应的模板的优先级;
基于预设的模板平台映射表,选取与所述优先级对应的目标模板;
根据所述目标模板进行初始化,生成与该目标应用平台相适配的目标项目。
3.根据权利要求1所述的跨平台桌面应用程序的实现方法,其特征在于,所述后端模块包括Go模块文件,将所述原始应用平台的原始代码移植至所述后端模块中,得到移植代码,包括:
将所述原始应用平台的原始代码镜像至所述Go模块文件中;
对所述Go模块文件中的Go代码进行校验,得到校验结果;
在所述校验结果为通过的情况下,得到移植代码;在所述校验结果为不通过的情况下,重新检查所述原始代码,直至所述校验结果为通过。
4.根据权利要求1所述的跨平台桌面应用程序的实现方法,其特征在于,通过动态的运行时库对所述移植代码中的函数和结构体进行绑定,包括:
根据所述目标应用平台在所述后端模块中选取需要暴露的第一目标函数或第一目标结构体;
将所述第一目标函数或第一目标结构体的实例绑定至所述目标项目的Bind字段中。
5.根据权利要求4所述的跨平台桌面应用程序的实现方法,其特征在于,所述运行时库包括Go运行时库以及JavaScript运行时库,所述第一目标函数或第一目标结构体的实例基于所述Go运行时库运行,通过动态的运行时库对所述移植代码中的函数和结构体进行绑定,还包括:
侦听对应于所述目标项目的项目构建指令;
在运行所述目标项目的项目构建指令的情况下,将所述Go运行时库切换至所述JavaScript运行时库,自动生成基于JavaScript运行时库的第二目标函数或第二目标结构体。
6.根据权利要求5所述的跨平台桌面应用程序的实现方法,其特征在于,利用所述前端模块直接调用所述后端模块已绑定的移植代码,编译生成跨平台的所述桌面应用程序,包括:
通过所述前端模块直接调用所述第二目标函数或第二目标结构体;
配置并读取所述前端模块的配置文件,将所述目标项目编译生成单个二进制文件;
基于所述二进制文件生成所述桌面应用程序。
7.根据权利要求5所述的跨平台桌面应用程序的实现方法,其特征在于,利用所述前端模块直接调用所述后端模块已绑定的移植代码,编译生成跨平台的所述桌面应用程序,还包括:
实时检测所述桌面应用程序的资源的运行情况;
在所述桌面应用程序的资源发生更改的情况下,判断所述应用程序的资源的类型;
根据所述应用程序的资源的类型切换所述Go运行时库以及JavaScript运行时库,重新装载所述桌面应用程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安银行股份有限公司,未经平安银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211321617.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:固定结构及制冷设备
- 下一篇:一种可伸缩变距的电缆井盖板起落装置





