本发明涉及计算机,尤其涉及一种web桌面应用的构建方法、装置及电子设备。
背景技术:
1、随着互联网日新月异的发展,互联网技术也在不断快速迭代。其中前端领域由于从业人员众多,发展得也最快,已经逐渐侵入了传统的桌面端开发。
2、目前业内较流行的桌面端开发模式是用electron框架,使用javascript、css和html构建跨平台的桌面端应用程序。
3、由于使用chromium和nodejs v8引擎作为内核,导致用electron开发的应用体积十分庞大,哪怕是最简单的应用也要全量集成整个chromium和nodejs的二进制版本。
4、其次,由于内部使用c++实现,electron暴露给开发者的api也不友好。如果要做定制化功能,开发者要用c++写对应的插件,非常容易产生内存泄漏的问题,考虑到桌面端开发者的技术栈,这个问题尤为明显。
5、最后是底层架构本身的问题。由于nodejs是单线程,chromium又十分臃肿无法裁剪,js本身是弱类型,在开发大型应用时工作量巨大且不好维护,共同导致了用electron开发的应用渲染流畅度较差,性能不佳,且开发体验都较差,用户体验较差。
6、因此,现有技术还有待于改进和发展。
技术实现思路
1、鉴于上述现有技术的不足,本发明提供了一种web桌面应用的构建方法、装置及电子设备,旨在解决上述问题。
2、本发明的技术方案如下:
3、本发明第一实施例提供了一种web桌面应用的构建装置,包括操作系统、核心模块、原生浏览器、桥组件模块,
4、所述操作系统,用于运行核心模块;
5、所述核心模块,用于调用操作系统的功能、调用桥方法对所述原生浏览器进行控制;
6、所述原生浏览器,用于执行核心模块下发的指令;
7、所述桥组件模块,用于对操作系统调用所述原生浏览器的api方法进行封装。
8、进一步地,所述核心模块还包括:
9、浏览器窗口对象创建单元,用于调用桥组件方法创建浏览器窗口对象,所述浏览器窗口对象用于显示视图内容。
10、进一步地,所述核心模块还包括:
11、命令注册单元,用于对命令进行注册,并接受浏览器窗口对象的调用,使得前端页面可对操作系统进行操作。
12、进一步地,所述核心模块还用于交叉编译成对应的系统的可执行二进制文件。
13、进一步地,所述操作系统为l inux、windows、macos、android和ios中的一种。
14、本发明的另一实施例提供了一种基于上述web桌面应用的构建装置的构建方法,方法包括:
15、核心模块创建主线程,对命令进行注册,调用桥组件创建操作系统原生浏览器窗口;
16、原生浏览器请求js脚本,其中,所述js脚本封装了调用命令的api方法;
17、操作系统原生浏览器窗口基于所述js脚本调用核心模块的注册命令,使得浏览器窗口对象完成对操作系统的操作。
18、进一步地,核心模块在创建主线程,对命令进行注册,调用桥组件创建操作系统原生浏览器窗口前,包括:
19、预先在核心模块中定义一个显示特定内容的命令方法。
20、进一步地,核心模块创建主线程,对命令进行注册,调用桥组件创建操作系统原生浏览器窗口,包括:
21、核心模块创建主线程,并在数据初始化时,对显示特定内容的命令方法进行注册,并在js脚本中添加调用命令方法的api方法;
22、调用桥组件创建操作系统原生浏览器窗口。
23、本发明的另一实施例提供了一种电子设备,所述电子设备包括至少一个处理器;以及,
24、与所述至少一个处理器通信连接的存储器;其中,
25、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的web桌面应用的构建方法。
26、本发明的另一实施例还提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的web桌面应用的构建方法。
27、有益效果:本发明实施例的web桌面应用的构建方法,可实现大大减小编译后的应用体积;可以直接使用os的能力,性能和功能得到提升;可以得到适配当前操作系统的最佳性能和体验;业务代码可读性好,容易封装。
1.一种web桌面应用的构建装置,其特征在于,包括操作系统、核心模块、原生浏览器、桥组件模块,
2.根据权利要求1所述的装置,其特征在于,所述核心模块还包括:
3.根据权利要求2所述的装置,其特征在于,所述核心模块还包括:
4.根据权利要求1所述的装置,其特征在于,所述核心模块还用于交叉编译成对应的系统的可执行二进制文件。
5.根据权利要求1-4任一项所述的装置,其特征在于,所述操作系统为linux、windows、macos、android和ios中的一种。
6.一种基于权利要求1-5所述的web桌面应用的构建装置的构建方法,其特征在于,包括:
7.根据权利要求6所述的方法,其特征在于,所述核心模块在创建主线程,对命令进行注册,调用桥组件创建操作系统原生浏览器窗口前,包括:
8.根据权利要求7所述的方法,其特征在于,所述核心模块创建主线程,对命令进行注册,调用桥组件创建操作系统原生浏览器窗口,包括:
9.一种电子设备,其特征在于,所述电子设备包括至少一个处理器;以及,
10.一种非易失性计算机可读存储介质,其特征在于,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行权利要求6-8任一项所述的web桌面应用的构建方法。