基于Electron的应用程序的实现方法和装置制造方法及图纸

技术编号:37958052 阅读:24 留言:0更新日期:2023-06-30 09:31
本申请提供了一种基于Electron的应用程序的实现方法,包括:配置主服务层;其中所述主服务层运行在主进程中,用于提供应用程序的底层服务;配置渲染层;其中所述渲染层运行在渲染进程中,用于提供应用程序的页面交互;配置JSB统一接口;其中所述JSB统一接口用于提供所述主进程和所述渲染进程之间的通信;其中,所述JSB统一接口用于:通过预加载的方式将JSB对象由所述主进程注入到所述渲染进程各个页面的window对象中,以使所述多个页面可访问所述JSB对象。本申请的技术方案简化了主进程和渲染进程通信的复杂度,降低了开发和维护成本。降低了开发和维护成本。降低了开发和维护成本。

【技术实现步骤摘要】
基于Electron的应用程序的实现方法和装置


[0001]本申请实施例涉及计算机
,尤其涉及一种基于Electron的应用程序的实现方法、装置、计算机设备、计算机可读存储介质。

技术介绍

[0002]随着计算机技术的发展,基于各种操作系统环境的应用大量产生。为此,Electron提供了一种跨平台桌面应用程序的开源软件框架。Electron主要包括主进程和渲染进程,可使用HTML、CSS和JavaScript等Web技术来构建应用程序,完成跨平台的桌面GUI应用程序的开发。即开发人员可以利用Web开发技术构建跨平台桌面应用程序,从而在Windows、macOS和Linux等多个操作系统上使用。
[0003]当前,主进程和渲染进程之间通信复杂度高,不易维护,尤其在大型应用程序中。
[0004]需要说明的是,上述内容并不必然是现有技术,也不用于限制本申请的专利保护范围。

技术实现思路

[0005]本申请实施例的目的是提供一种基于Electron的应用程序的实现方法、装置、计算机设备及计算机可读存储介质,用于解决或缓解上述问题。
[0006]本申请实施例的一个方面提供了一种基于Electron的应用程序的实现方法,所述方法包括:
[0007]配置主服务层;其中所述主服务层运行在主进程中,用于提供应用程序的底层服务;
[0008]配置渲染层;其中所述渲染层运行在渲染进程中,用于提供应用程序的页面交互;
[0009]配置JSB统一接口;其中所述JSB统一接口用于提供所述主进程和所述渲染进程之间的通信;
[0010]其中,所述JSB统一接口用于:通过预加载的方式将JSB对象由所述主进程注入到所述渲染进程各个页面的window对象中,以使所述多个页面可访问所述JSB对象。
[0011]可选地,所述底层服务包括:
[0012]第一类服务,所述第一类服务为引入依赖的服务;
[0013]第二类服务,所述第二类服务通过注入的方式或主题订阅的方式进行相互调用。
[0014]可选地,所述渲染层包括本地页面和嵌入页面;
[0015]所述JSB统一接口还用于:将所述JSB对象注入到所述本地页面以及所述嵌入页面中。
[0016]可选地,所述应用程序的开发架构包括根目录,及位于根目录下的第一package.json文件和安装包打包配置文件;所述方法还包括:
[0017]在根目录下创建APP目录,在所述APP目录下配置所述第二package.json文件;将所述第一package.json文件中的部分信息同步到所述第二package.json文件中;其中,所
述部分信息包括生产阶段所需的依赖信息,所述依赖信息包括依赖声明;
[0018]通过所述安装包打包配置文件指定将生成代码放置到所述APP目录下,以及指定将所述生成代码和第二package.json文件打包进构建包;其中,所述安装包配置文件还配置有依赖删除勾子,用于从所述构建包中删除所述依赖声明以得到安装包。
[0019]可选地,所述安装包包括全量安装包和增量安装包;所述方法还包括:
[0020]将所述全量安装包、增量安装包及增量更新配置文件上传到服务器中,以提供下载服务。
[0021]可选地,所述目标安装包括增量安装包;所述方法还包括:
[0022]在得到增量安装包的情形下,将所述增量安装包设置到用户数据目录下;
[0023]对环境变量中的模块路径变量进行设置,以变更导入所述增量安装包的路径。
[0024]本申请实施例的另一个方面提供了一种基于Electron的应用程序的实现装置,所述装置包括:
[0025]第一配置模块,用于配置主服务层;其中所述主服务层运行在主进程中,用于提供应用程序的底层服务;
[0026]第二配置模块,用于配置渲染层;其中所述渲染层运行在渲染进程中,用于提供应用程序的页面交互;
[0027]第三配置模块,用于配置JSB统一接口;其中所述JSB统一接口用于提供所述主进程和所述渲染进程之间的通信;
[0028]其中,所述JSB统一接口用于:通过预加载的方式将JSB对象由所述主进程注入到所述渲染进程各个页面的window对象中,以使所述多个页面可访问所述JSB对象。
[0029]本申请实施例的另一个方面提供了一种计算机设备,包括:
[0030]至少一个处理器;及
[0031]与所述至少一个处理器通信连接的存储器;
[0032]其中:所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
[0033]本申请实施例的另一个方面提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机指令,所述计算机指令被处理器执行时实现如上所述的方法。
[0034]本申请实施例的另一个方面提供了一种基于Electron的应用程序的实现系统,所述系统包括:
[0035]主服务层,用于运行在主进程中,提供应用程序的底层服务;
[0036]渲染层,用于运行在渲染进程中,提供所述应用程序中页面的显示和交互;
[0037]JSB统一接口,用于提供所述主进程和所述渲染进程之间的通信;
[0038]其中,所述JSB统一接口在于:通过预加载的方式将JSB对象由所述主进程注入到所述渲染进程各个页面的window对象中,以使所述多个页面可访问所述JSB对象。
[0039]可选地,所述实现系统包括:
[0040]根目录;
[0041]APP目录,位于所述根目录下;
[0042]第一package.json文件,位于所述根目录下;
[0043]安装包打包配置文件,位于所述根目录下;
[0044]其中,所述根目录下配置有APP目录,在所述APP目录下配置有所述第二package.json文件;所述第一package.json文件中的部分信息被同步到所述第二package.json文件中;所述部分信息包括生产阶段所需的依赖信息,所述依赖信息包括依赖声明;
[0045]所述安装包打包配置文件用于指定将生成代码放置到所述APP目录下,以及指定将所述生成代码和第二package.json文件打包进构建包;所述安装包配置文件还配置有依赖删除勾子,用于从所述构建包中删除所述依赖声明以得到安装包。
[0046]可选地,在增量更新的情况下,所述实现系统包括:
[0047]增量安装包,所述增量安装包位于用户数据目录下;
[0048]其中,环境变量中的模块路径(process.env.NODE_PATH)变量被设置为:指定所述增量安装包的路径。
[0049]本申请实施例提供的上述技术方案包括如下技术优点:将IPC替换为JSB统一接口,通过JSB统一接口进行主进程和渲染进程之间的通信。具体的,通过prelo本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Electron的应用程序的实现方法,其特征在于,所述方法包括:配置主服务层;其中所述主服务层运行在主进程中,用于提供应用程序的底层服务;配置渲染层;其中所述渲染层运行在渲染进程中,用于提供应用程序的页面交互;配置JSB统一接口;其中所述JSB统一接口用于提供所述主进程和所述渲染进程之间的通信;其中,所述JSB统一接口用于:通过预加载的方式将JSB对象由所述主进程注入到所述渲染进程各个页面的window对象中,以使所述多个页面可访问所述JSB对象。2.根据权利要求1所述的方法,其特征在于,所述底层服务包括:第一类服务,所述第一类服务为引入依赖的服务;第二类服务,所述第二类服务通过注入的方式或主题订阅的方式进行相互调用。3.根据权利要求1所述的系统,其特征在于,所述渲染层包括本地页面和嵌入页面;所述JSB统一接口还用于:将所述JSB对象注入到所述本地页面以及所述嵌入页面中。4.根据权利要求1至3任一项所述的方法,其特征在于,所述应用程序的开发架构包括根目录,及位于根目录下的第一package.json文件和安装包打包配置文件;所述方法还包括:在根目录下创建APP目录,在所述APP目录下配置所述第二package.json文件;将所述第一package.json文件中的部分信息同步到所述第二package.json文件中;其中,所述部分信息包括生产阶段所需的依赖信息,所述依赖信息包括依赖声明;通过所述安装包打包配置文件指定将生成代码放置到所述APP目录下,以及指定将所述生成代码和第二package.json文件打包进构建包;其中,所述安装包配置文件还配置有依赖删除勾子,用于从所述构建包中删除所述依赖声明以得到安装包。5.根据权利要求4所述的方法,其特征在于,所述安装包包括全量安装包和增量安装包;所述方法还包括:将所述全量安装包、增量安装包及增量更新配置文件上传到服务器中,以提供下载服务。6.根据权利要求4所述的方法,其特征在于,所述目标安装包括增量安装包;所述方法还包括:在得到增量安装包的情形下,将所述增量安装包设置到用户数据目录下;对环境变量中的模块路径变量进行设置,以变更导入所述增量安装包的路径。7.一种基于Electron的应用程序的实现装置,其特征在于,所述装置包括:第一配置模块,用于配置主服务层;其中所述主服务层运行在主进程中,用于提供应用程序的底层服务;第二配置模块,用于配置渲染层;其中所述渲染层运行在渲染...

【专利技术属性】
技术研发人员:沈涛
申请(专利权)人:上海哔哩哔哩科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1