[发明专利]一种桌面端软件挂件视窗管理方法和系统在审
申请号: | 201911307857.7 | 申请日: | 2019-12-18 |
公开(公告)号: | CN111124391A | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 黄廷磊;赵志良;翟文军;蒋元成;刘久云;华绿绿 | 申请(专利权)人: | 中科全维科技(苏州)有限公司 |
主分类号: | G06F8/34 | 分类号: | G06F8/34;G06F9/455 |
代理公司: | 南京禾易知识产权代理有限公司 32320 | 代理人: | 师自春 |
地址: | 215000 江苏省苏州市苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 桌面 软件 挂件 视窗 管理 方法 系统 | ||
本发明提供了一种桌面端软件挂件视窗管理方法和系统,在主应用和子应用上实施,包括以下步骤:运行主应用,生成主视窗;将子应用放到外部容器中运行,生成多个挂件视窗;对所述主视窗和多个挂件视窗进行显示层级的配置;通过主应用与子应用之间通信,实现对所述挂件视窗的管理。本发明通过采用沙箱隔离技术,具有隔离性好,方便集成多种不同技术栈的优点,同时对所有挂件视窗的显示层级采用统一的管理,并统一了挂件视窗交互规范,不同部件间的控制切换更加灵活方便。
技术领域
本发明涉及桌面应用软件开发领域,具体而言,涉及一种桌面端软件挂件视窗管理方法和系统。
背景技术
在桌面应用软件开发技术中,多是以一个主视窗为背景,通过不同挂件视窗的平铺和层叠,完成整个桌面应用的页面设计,在部分场景下,会弹出一个或多个辅助挂件视窗,如应用的设置页面,形成挂件视窗的层叠,不同挂件视窗位置如果重叠会互相覆盖,当前获得焦点的挂件视窗会出现在最上层,这是windows等操作系统的默认视窗管理行为,开发者仅需要关心同一主视窗下的不同挂件视窗的布局和样式,按照应用的设计样式进行开发即可。
上述方案在进行页面模块化的时候有很多不足,不同开发人员在开发不同模块的时候难以和其余模块解耦,因为同一个挂件视窗大都是在同一个渲染进程中进行,容易出现样式覆盖,变量名冲突等各种问题。
在基于electron框架(Electron是一种将HTML5网页技术和NodeJS技术结合开发桌面端应用的框架)开发桌面端应用时,页面模块化的方案缺点更加明显。使用electron开发的应用内主要有两种进程,一种是主进程,负责进行应用初始化和后台操作等,另一种是渲染进程,负责页面的加载渲染。如果采用传统的多视窗方案,需要开启多个渲染进程分别加载不同模块,在模块较多时多个进程会占据大量系统资源。如果直接在同一个渲染进程中进行模块划分,由于JavaScript语言在设计上就没有强有力的命名空间约束,极其容易造成全局变量名的冲突,css层叠样式表的使用更是容易造成样式污染,缺少一种灵活有效的页面模块化方案。
发明内容
有鉴于此,本发明实施例的目的在于,提供一种桌面端软件挂件视窗管理方法和系统以解决上述问题。
具体技术方案如下:
一个方面,本发明提供了一种桌面端软件挂件视窗管理方法,在主应用和子应用上实施,包括以下步骤:
运行主应用,生成主视窗;
将子应用放到外部容器中运行,生成多个挂件视窗;
对所述主视窗和多个挂件视窗进行显示层级的配置;
通过主应用与子应用之间通信,实现对所述挂件视窗的管理。
根据本发明一优选实施方式,所述生成多个挂件视窗,包括:
主应用启动时,需要先从特定配置目录中读取存在的子应用配置文件,根据配置文件读取子应用的信息,并生成对应数量的挂件视窗;
其中,所述子应用的信息包括id,名字,主页地址,默认显示位置,图标。
根据本发明一优选实施方式,所述对多个所述挂件视窗进行显示层级的配置包括:
所述主视窗位于底部,其显示层级最低,多个所述挂件视窗具有不同的显示层级,后显示的挂件视窗比前面的挂件视窗显示层级高,并且获得当前窗口焦点的挂件视窗会自动获得最高的显示层级。
根据本发明一优选实施方式,所述主应用与子应用之间通信包括:
在所述主应用和子应用内封装事件驱动库,且所述主应用和子应用通过功能接口交互,并在所述事件驱动库的驱动下,发送约定的事件和字符串参数,实现通信。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中科全维科技(苏州)有限公司,未经中科全维科技(苏州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911307857.7/2.html,转载请声明来源钻瓜专利网。