买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于electron框架的Widget系统的实现方法及采用该系统的电视机_四川长虹电器股份有限公司_201910596254.7 

申请/专利权人:四川长虹电器股份有限公司

申请日:2019-07-03

公开(公告)日:2022-06-21

公开(公告)号:CN110297624B

主分类号:G06F8/20

分类号:G06F8/20;G06F8/30;G06F8/38;G06F8/76;G06F9/4401;G06F9/445;H04N21/443;H04N21/478

优先权:

专利状态码:有效-授权

法律状态:2022.06.21#授权;2019.11.01#实质审查的生效;2019.10.01#公开

摘要:本发明公开了基于electron框架的Widget系统的实现方法及采用该系统的电视机,属于应用程序的执行实现方法以及采用这种实现方法的装置技术领域。该方法包括:通过移植electron框架在电视机系统的操作系统层上,并通过electron框架开发核心Widget模块的应用,并将应用集成到电视launcher主场景中,户可以通过不同的Widget应用和用户之间进行互动;通过在electron框架上建立基于所述核心Widget模块应用的launcher模块,并将用户所使用到的常用模块的启动方式嵌入进程到launcher模块中,将launcher模块作为用户控制电视机的入口模块及管理集成其它功能的Widget应用。

主权项:1.基于electron框架的Widget系统的实现方法,其特征在于:该方法包括:通过移植electron框架在电视机系统的操作系统层上,并通过electron框架开发核心Widget模块的应用,并将应用集成到电视launcher主场景中,用户可以通过不同的Widget应用和用户之间进行互动;通过在electron框架上建立基于所述核心Widget模块应用的launcher模块,并将用户所使用到的常用模块的启动方式嵌入进程到launcher模块中,将launcher模块作为用户控制电视机的入口模块及管理集成其它功能的Widget应用。

全文数据:基于electron框架的Widget系统的实现方法及采用该系统的电视机技术领域本发明涉及一种应用程序的执行实现方法以及采用这种实现方法的装置技术领域,更具体的说是涉及基于electron框架的Widget系统的实现方法及采用该系统的电视机。背景技术传统的电视机Widget功能是一种基于XML和javaScript解析技术的网络信息获取和显示功能,由XML和javaScript语言开发而成,它通过整机系统的整合不同Widget程序来实现不同的功能,比如新闻,天气,视频播放,股票信息等。传统的通过Widget的方式来实现电视端的应用程序,无法摆脱浏览器的沙盒机制,不能访问操作系统层面的接口。大部分场景下只能借助于后台服务处理,然后通过http返回前端页面,如果处理本地文件,还得将文件传到服务器上去,让服务器处理,用户体验也非常差。基于Android系统的app来实现电视端的应用程序,对Android系统的依赖又非常大,本身的程序无法跨平台,同样对研发人员要求更高。Electron框架通过内置了Chromium内核和Nodejs,因此可以使用HTML和CSS来实现应用的GUI界面,用JavaScript调用丰富的原生API实现跨平台的应用,同时能接近原生应用的交互体验。Electron框架内置Chromium内核,具有非常好的跨平台移植性,天生兼容mac,windows,Linux等各种类型的操作系统,同样通过Electron框架开发的Widget应用同样具有非常好的跨平台移植性。electron框架的Widget系统开发的Widget应用对比传统的C,JAVA应用有非常的良好热更新,热修复等特点,可以大幅度的提升用户体验以及产品的运营性。发明内容针对现有技术方案的不足,本发明提供了一种应用程序的执行实现方法以及采用这种实现方法的装置,更具体为基于electron框架的Widget系统的实现方法及采用该系统的电视机,该方案具有跨平台性,用户体验好,开发难度底等特点。为了实现上述目的,本发明采用以下技术方案:基于electron框架的Widget系统的实现方法,该方法包括:通过移植electron框架在电视机系统的操作系统层上,并通过electron框架开发核心Widget模块的应用,并将应用集成到电视launcher主场景中,户可以通过不同的Widget应用和用户之间进行互动;通过在electron框架上建立基于所述核心Widget模块应用的launcher模块,并将用户所使用到的常用模块的启动方式嵌入进程到launcher模块中,将launcher模块作为用户控制电视机的入口模块及管理集成其它功能的Widget应用。通过移植electron框架在电视机系统,并通过electron框架开发各种Widget模块的应用,并将应用集成到电视launcher主场景重,然用户可以通过不同的Widget应用和用户之间进行互动,形成一套电视端系统应用层框架解决方案,所有的应用层都是基于electron框架之上,因此具有非常好的跨平台性,电视端底层系统不管采用linux或者是windows,并不影响上层应用层。进一步的,所述核心Widget模块分别对应用户控制电视的不同的功能模块,通过launcher模块进行整合和管理,比如天气,视频,播放器,记事本,购物等等,通过launcher模块进行整合和管理,提供给用户非常良好的图形化超控界面,达到用户和电视互动的目的。进一步的,通过electron提供的运行时环境及接口支持,建立第一个图形化的核心Widget的应用Launcher,后续将所有的基于electron框架的Widget的管理配置,显示都集成在Launcher中,以便用户可以通过Launcher的图形化超控界面对所有的Widget应用进行配置管理。进一步的,利用electron编写第一个Widget应用,launcher应用,通过launcher应用来管理所有的其他Widget应用,Launcher应用作为进入电视后的主场景应用。进一步的,所述electron框架是基于electron开发而成的第一个应用程序为用户的launcher应用程序,launcher应用程序为自启动应用程序,会随着系统的启动而启动。进一步的,electron应用程序包含了主进程和渲染进程,electron应用程序入口是一个js文件,运行js文件的进程称作主进程,在主进程使用BrowserWindow模块可以创建并管理web页面,在主进程创建的一个个web页面也都运行着自己的进程,即渲染进程,渲染进程各自独立,各自管理自己的页面。进一步的,主进程和渲染进程之间的通讯主要是通过ipc的方式,在主进程引入ipcMain模块,用于接收渲染进程发射的事件和进行回复,在渲染进程引入ipcRenderer模块,用于发射事件给主进程和接收主进程返回的回复事件。进一步的,主进程中可以使用到的模块,app模块,控制整个应用的生命周期设计;autoUpdater模块,自动更新应用BrowserWindow模块,创建一个浏览器窗口;contentTracing模块,收集由底层的Chromiumcontent模块产生的搜索数据;dialog模块,提供一个弹出框或者文件选择框;globalShortcut模块,注册全局的自定义快捷键;ipcMain模块,提供主进程和渲染进程之间的通讯方法,接收渲染进程发射过来的事件和数据并进行回复;menu模块,创建鼠标右键显示菜单,跟menuItem模块配合使用,可以通过remote模块给渲染进程调用;powerSaveBlocker模块,阻止应用系统进入睡眠模式,允许应用保持系统和屏幕继续工作;session模块,创建一个新的Session对象.可为应用创建多个Cookie文件夹存储不同的数据信息,并且不会相互影响,各自独立;webContents模块,是一个事件发出者,负责渲染并控制网页。进一步的,在渲染进程中可使用的模块,desktopCapturer模块,获取可用资源,这个资源可通过getUserMedia捕获得到;ipcRenderer模块,提供渲染进程个主进程之间的通讯方法,可以从渲染进程向主进程发送同步或异步消息,也可以收到主进程的相应;remote模块,使渲染进程可以调用主进程的模块;webFrame模块,自定义如何渲染当前网页。本发明还提供了一种电视机,包括采用上述方法实现的Widget系统。本发明与现有技术相比具有的有益效果是:由于Widget应用实现框架是基于electron框架,electron本身是基于Chromium和nodejs,Chromium和nodejs具有跨平台性和移植性都非常强,天生适配linux,windows,mac等系统,因此达到移植性强的目的,基于electron的程序本身使用使用Web页面作为UI显示,因此具有热更新,热修复等特点,同时基于electron的程序开发门槛非常低,使用js,html,css技术栈来构建应用程序。附图说明图1中显示的是采用本发明方法实施例实现的整体架构图;图2中显示的是采用本发明实施例的Widget系统的实现方法之后的功能模块在电器上显示的结构示意图;图3中显示的是采用本发明实施例的Widget系统的整体结构框图;图4中显示的是采用本发明实施例的某个Widget程序的功能模块图。具体实施方式下面结合实施例对本发明作进一步的描述,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域的普通技术人员在没有做出创造性劳动前提下所获得的其他所用实施例,都属于本发明的保护范围。实施例1本发明在于提供一种移植性强,支持热更新,热修复的应用于电视机的Widget模块化的方法,同时本发明还提供了一种应用这种方法的电视机,下面结合说明书附图对本发明的具体实施方法以及系统结果进行具体的说明。基于electron框架的Widget系统的实现方法,该方法包括:通过移植electron框架在电视机系统的操作系统层上,并通过electron框架开发核心Widget模块的应用,并将应用集成到电视launcher主场景中,户可以通过不同的Widget应用和用户之间进行互动;通过在electron框架上建立基于所述核心Widget模块应用的launcher模块,并将用户所使用到的常用模块的启动方式嵌入进程到launcher模块中,将launcher模块作为用户控制电视机的入口模块及管理集成其它功能的Widget应用。通过移植electron框架在电视机系统,并通过electron框架开发各种Widget模块的应用,并将应用集成到电视launcher主场景重,然用户可以通过不同的Widget应用和用户之间进行互动,形成一套电视端系统应用层框架解决方案,所有的应用层都是基于electron框架之上,因此具有非常好的跨平台性,电视端底层系统不管采用linux或者是windows,并不影响上层应用层。图1中显示的是采用本发明方法实施例实现的整体架构图,系统的最底层为操作系统层,本发明的方法是建立在操作系统层之上,不管底层系统采用linux或者其他的系统都不会影响本发明的跨平台移植性,因为整体的应用层款框架运行在electron之上,electron本身具有很高的跨平台移植性,本发明的Widget系统是建立在electron框架之上。electron为用纯JavaScript创建跨平台的应用了运行时,electron框架本身包含Chromium和Node,通过Node提供了通常浏览器所不能提供的能力,页面渲染是通过Chromium实现的,这样在不同的系统下也是标准统一的,兼容性非常好。1、移植electron到电视端系统中,并解释electron框架包含的内容Chromium和Node,提供了跨平台的能力。通过electron提供的运行时环境及接口支持,建立第一个图形化的核心Widget的应用Launcher,后续将所有的基于electron框架的Widget的管理配置,显示等都集成在Launcher中,以便用户可以用过Launcher的图形化界面对所有的Widget应用进行配置管理,由于,Widget应用模块和Launcher模块都是基于框electron架,运行时的,以此达到了移植性强的目的,同时因为Widget为纯javaScript编写业务逻辑代码,因此具有热更新,热修复等特点。2.利用electron编写第一个Widget应用,launcher应用,通过launcher应用来管理所有的其他Widget应用,launcher应用本身也管理电视机的所有配置设置。Launcher应用作为进入电视后的主场景应用。需要说明的是,这种Widget应用模块并不限于附图中显示的数量,而是更具需要可以建立不定数量的Widget功能模块应用,electron框架本身是跨平台的应用层框架以及大量可复用的ui模块,避免了不同系统上相同应用的代码的重复编写,很好的实现了跨平台的程序开发。对于电视机软件而言,通过整合electron进入整机系统层,并按照electron方式编译开发应用程序,通过创建主应用launcher将电视系统的所有的Widget应用管理起来。实现方法说明如下,本发明的主程序框架是基于electron开发而成的第一个应用程序为用户的launcher应用程序,launcher应用程序为自启动应用程序,会随着系统的启动而启动,electron程序包含了主进程和渲染进程,Electron中,入口是一个js文件和NW.js不同,入口是html文件,运行这个入口文件通常会是package.json里的main脚本的进程称作主进程,在主进程使用BrowserWindow模块可以创建并管理web页面,也就是应用的GUI,在主进程创建的一个个web页面也都运行着自己的进程,即渲染进程,渲染进程各自独立,各自管理自己的页面,可以想象是浏览器一个个的tab。主进程和渲染进程之间的通讯主要是通过ipc的方式,在主进程引入ipcMain模块,用于接收渲染进程发射的事件和进行回复,在渲染进程引入ipcRenderer模块,用于发射事件给主进程和接收主进程返回的回复事件。主进程中可以使用到的模块,app模块,控制整个应用的生命周期设计;autoUpdater模块,自动更新应用BrowserWindow模块,创建一个浏览器窗口;contentTracing模块,收集由底层的Chromiumcontent模块产生的搜索数据;dialog模块,提供一个弹出框或者文件选择框;globalShortcut模块,注册全局的自定义快捷键;ipcMain模块,提供主进程和渲染进程之间的通讯方法,接收渲染进程发射过来的事件和数据并进行回复;menu模块,创建鼠标右键显示菜单,跟menuItem模块配合使用,可以通过remote模块给渲染进程调用;powerSaveBlocker模块,阻止应用系统进入睡眠模式,允许应用保持系统和屏幕继续工作;session模块,创建一个新的Session对象。可为应用创建多个Cookie文件夹存储不同的数据信息,并且不会相互影响,各自独立;webContents模块,是一个事件发出者,负责渲染并控制网页,也是BrowserWindow对象的属性。可设置打开调试窗口等。在渲染进程中可使用的模块,desktopCapturer模块,获取可用资源,这个资源可通过getUserMedia捕获得到;ipcRenderer模块,提供渲染进程个主进程之间的通讯方法,可以从渲染进程向主进程发送同步或异步消息。也可以收到主进程的相应;remote模块,使渲染进程可以调用主进程的模块;webFrame模块,自定义如何渲染当前网页。两个进程间都可以使用的模块,clipboard模块,提供方法来供复制和粘贴操作;crashReporter模块,开启发送应用崩溃报告,自动提交崩溃报告给服务器;nativeImage模块,图片对象,从剪切板中读取图片,它返回的是nativeImage。screen模块,屏幕的size,显示,鼠标位置等的信息。即可根据用户显示器大小等信息进行渲染页面;shell模块,提供了集成其他桌面客户端的关联功能,比如调用用户默认浏览器打开一个新窗口等。3.解释基于electron的应用的实现方式,程序的本身的结构,程序内的进程通讯的方式。基于electron的程序更具体的实施可以参看图2,Electron调用程序package.json中定义的main文件并执行它。main文件通常被命名为main.js会创建一个内含渲染完的web页面的应用窗口,并添加与你操作系统的原生GUI图形界面交互的功能。详细地说,当用Electron启动一个应用,会创建一个主进程。这个主进程负责与你系统原生的GUI进行交互并为你的应用创建GUI。Electron调用你在package.json中定义的main文件并执行它。main文件通常被命名为main.js会创建一个内含渲染完的web页面的应用窗口,并添加与你操作系统的原生GUI图形界面交互的功能。详细地说,当用Electron启动一个应用,会创建一个主进程。这个主进程负责与你系统原生的GUI进行交互并为你的应用创建GUI。仅启动主进程并不能给你的应用用户创建应用窗口。窗口是通过main文件里的主进程调用叫BrowserWindow的模块创建的。每个浏览器窗口会运行自己的渲染进程。渲染进程会在窗口中渲染出web页面引用了CSS,JavaScript,图片等的HTML文件。web页面是Chromium渲染的,因为各系统下标准是统一的,所以兼容性很好。其次,其他的Widget应用模块也是基于electron框架进行构建,通过整合集成到Launcher的管理页面中,进行应用的管理配置,请参看图3,所有的应用只有launcher是随系统自启动,在应用管理页面,用户通过遥控器的OK键进入不同功能的widget应用中。通过遥控器的返回键退出widget应用并返回到launcher的应用列表中,在launcher的应用列表中按返回键并不能退出launcher应用,只能返回到launcher上个主页面中。在launcher应用管理页面中通过长按ok键可以弹出对话框,提供删除,隐藏等对某个weidget应用的控制功能。最后Launcher做为整个系统应用的核心管理程序,具体参考图4,主要功能点有四个,app应用的管理,管理其他的Widget应用,电视机设置,电视机系统的主要设置都集成在launcher的管理页面中实现,其次是电视机内部资源搜索,管理和搜索电视内部的各种资源,整理呈现给用户,最后是电视主场景下的多页面管理和呈现。4.解释launcher如何把所有的基于electron框架整合管理的实现方式。这样,通过采用上述的技术方案,本发明提供了一种移植性强的,同时具备热更新,热修复的,适用于电视机的Widget系统的实现方法,同时本发明还提供了一种应用于这种方法的电视机。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

权利要求:1.基于electron框架的Widget系统的实现方法,其特征在于:该方法包括:通过移植electron框架在电视机系统的操作系统层上,并通过electron框架开发核心Widget模块的应用,并将应用集成到电视launcher主场景中,户可以通过不同的Widget应用和用户之间进行互动;通过在electron框架上建立基于所述核心Widget模块应用的launcher模块,并将用户所使用到的常用模块的启动方式嵌入进程到launcher模块中,将launcher模块作为用户控制电视机的入口模块及管理集成其它功能的Widget应用。2.根据权利要求1所述的基于electron框架的Widget系统的实现方法,其特征在于:所述核心Widget模块分别对应用户控制电视的不同的功能模块,通过launcher模块进行整合和管理,提供给用户图形化超控界面。3.根据权利要求2所述的基于electron框架的Widget系统的实现方法,其特征在于:通过electron提供的运行时环境及接口支持,建立第一个图形化的核心Widget的应用Launcher,后续将所有的基于electron框架的Widget的管理配置,显示都集成在Launcher中,以便用户可以通过Launcher的图形化超控界面对所有的Widget应用进行配置管理。4.根据权利要求1所述的基于electron框架的Widget系统的实现方法,其特征在于:利用electron编写第一个Widget应用,launcher应用,通过launcher应用来管理所有的其他Widget应用,Launcher应用作为进入电视后的主场景应用。5.根据权利要求4所述的基于electron框架的Widget系统的实现方法,其特征在于:所述electron框架是基于electron开发而成的第一个应用程序为用户的launcher应用程序,launcher应用程序为自启动应用程序,会随着系统的启动而启动。6.根据权利要求5所述的基于electron框架的Widget系统的实现方法,其特征在于:electron应用程序包含了主进程和渲染进程,electron应用程序入口是一个js文件,运行js文件的进程称作主进程,在主进程使用BrowserWindow模块可以创建并管理web页面,在主进程创建的一个个web页面也都运行着自己的进程,即渲染进程,渲染进程各自独立,各自管理自己的页面。7.根据权利要求6所述的基于electron框架的Widget系统的实现方法,其特征在于:主进程和渲染进程之间的通讯主要是通过ipc的方式,在主进程引入ipcMain模块,用于接收渲染进程发射的事件和进行回复,在渲染进程引入ipcRenderer模块,用于发射事件给主进程和接收主进程返回的回复事件。8.根据权利要求7所述的基于electron框架的Widget系统的实现方法,其特征在于:主进程中可以使用到的模块,app模块,控制整个应用的生命周期设计;autoUpdater模块,自动更新应用BrowserWindow模块,创建一个浏览器窗口;contentTracing模块,收集由底层的Chromiumcontent模块产生的搜索数据;dialog模块,提供一个弹出框或者文件选择框;globalShortcut模块,注册全局的自定义快捷键;ipcMain模块,提供主进程和渲染进程之间的通讯方法,接收渲染进程发射过来的事件和数据并进行回复;menu模块,创建鼠标右键显示菜单,跟menuItem模块配合使用,可以通过remote模块给渲染进程调用;powerSaveBlocker模块,阻止应用系统进入睡眠模式,允许应用保持系统和屏幕继续工作;session模块,创建一个新的Session对象.可为应用创建多个Cookie文件夹存储不同的数据信息,并且不会相互影响,各自独立;webContents模块,是一个事件发出者,负责渲染并控制网页。9.根据权利要求8所述的基于electron框架的Widget系统的实现方法,其特征在于:在渲染进程中可使用的模块,desktopCapturer模块,获取可用资源,这个资源可通过getUserMedia捕获得到;ipcRenderer模块,提供渲染进程个主进程之间的通讯方法,可以从渲染进程向主进程发送同步或异步消息,也可以收到主进程的相应;remote模块,使渲染进程可以调用主进程的模块;webFrame模块,自定义如何渲染当前网页。10.一种电视机,其特征在于,包括采用权利要求1-9的方法实现的Widget系统。

百度查询: 四川长虹电器股份有限公司 基于electron框架的Widget系统的实现方法及采用该系统的电视机

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。