CN117555593A - 一种多端自适应的Web桌面环境 - Google Patents
一种多端自适应的Web桌面环境 Download PDFInfo
- Publication number
- CN117555593A CN117555593A CN202410038616.1A CN202410038616A CN117555593A CN 117555593 A CN117555593 A CN 117555593A CN 202410038616 A CN202410038616 A CN 202410038616A CN 117555593 A CN117555593 A CN 117555593A
- Authority
- CN
- China
- Prior art keywords
- application
- web
- desktop environment
- layer
- web desktop
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000006870 function Effects 0.000 claims abstract description 69
- 238000005516 engineering process Methods 0.000 claims abstract description 20
- 238000000034 method Methods 0.000 claims abstract description 13
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 40
- 238000004806 packaging method and process Methods 0.000 claims description 32
- 238000011161 development Methods 0.000 claims description 18
- 230000000694 effects Effects 0.000 claims description 18
- 238000009434 installation Methods 0.000 claims description 17
- 238000009877 rendering Methods 0.000 claims description 16
- 238000004519 manufacturing process Methods 0.000 claims description 14
- 230000003044 adaptive effect Effects 0.000 claims description 12
- 238000013515 script Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 7
- 230000001680 brushing effect Effects 0.000 claims description 3
- 230000006855 networking Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 2
- 230000003993 interaction Effects 0.000 description 6
- 230000006399 behavior Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及计算机技术领域,具体提供一种多端自适应的Web桌面环境,包括应用层、Web平台支撑层和基础设施层,所述应用层包括核心应用和第三方应用,所述核心应用基于Web技术开发,用于提供Web桌面环境的基础功能,所述第三方应用为开发者或互联网提供的Web应用,用于提供扩展功能。解决了现有技术中对于应用跨端使用的方式存在操作复杂、不完善、用户体验差的技术问题。
Description
技术领域
本发明涉及计算机技术领域,具体提供一种多端自适应的Web桌面环境。
背景技术
在传统操作系统中,应用程序通常需要经过专门的开发和适配流程,以在特定平台上实现其功能。这限制了开发者的灵活性,还增加了开发和维护的工作量。此外,用户若想在不同平台上使用同一个应用,需要通过虚拟机运行,或者寻找到该平台下的应用,有的应用甚至没有途径,因此操作系统缺少统一的应用跨端使用途径容易导致用户体验出现明显差异。
近年来随着Web技术的不断发展,HTML5、CSS3和JavaScript等标准的推广和不断完善,以及越来越多的框架与第三方库的出现,在为Web应用提供更多强大的功能的同时,也为其开发效率带来了极大的提升。PWA(Progressive Web App)技术的兴起也使得Web应用具备了更贴近原生应用的使用体验,其种类丰富、快捷获取和离线访问的特性为用户带来更加流畅和便捷的使用体验。
因此,可以考虑利用Web标准及技术的通用性和跨平台兼容的特点,基于Web技术的开发方式使开发者可以利用丰富的库和框架来更加灵活快速地构建应用程序。无需顾忌平台差异的优势可以降低开发和维护的工作量的同时,还能确保用户在不同平台上获得一致的使用感受。
发明内容
为了克服上述缺陷,提出了本发明,解决了现有技术中对于应用跨端使用的方式存在操作复杂、不完善、用户体验差的技术问题。。
本发明提出一种多端自适应的Web桌面环境,所述Web桌面环境包括依次连接的应用层、Web平台支撑层和基础设施层,所述应用层包括核心应用和第三方应用,所述核心应用基于Web技术开发,用于提供Web桌面环境的基础功能,所述第三方应用为开发者或互联网提供的Web应用,用于提供扩展功能;
所述Web平台支撑层为应用层的应用提供渲染和执行上的技术支持;
所述基础设施层为整个Web桌面环境提供管理硬件设备、硬件抽象和接口以及启动Web平台支撑层的功能。
进一步,所述核心应用包括:
System应用,用于为Web桌面环境提供环境UI、应用生命周期管理、系统状态与功能管理、安全与隐私管控以及向用户及其他Web应用提供Web桌面环境功能调用的功能;
Shared应用,用于为其他应用共享资源与文件;
主屏幕应用,用于展示和管理Web应用图标与小组件;
设置应用,用于提供系统级和应用级的设置选项;
键盘应用,用于提供虚拟键盘,将用户的点击事件转化为输入事件;
首次使用应用,用于在所述Web桌面环境安装后首次运行时引导用户进行语言、时间、网络、主题以及设备信息状态管理的设置。
进一步,所述Web桌面环境的UI显示包括环境UI和应用UI,所述环境UI和应用UI通过CSS中的媒体查询功能,为不同的屏幕比例与大小提供了自适应布局。
进一步,所述第三方应用包括:
打包应用,包括应用运行所需的资源文件和一个清单文件,所述资源文件和所述清单文件整合为一个压缩文件,所述打包应用通过Web桌面环境提供的二进制工具进行安装,安装时将所述压缩文件存储于装载Web桌面环境的设备中;
PWA应用,包括一个描述该应用的清单文件,所述PWA应用通过Web桌面环境的添加到主屏幕功能或Web桌面环境提供的二进制工具进行联网安装,安装时将PWA应用的清单文件存储于装载Web桌面环境的设备中,所有资源文件位于远程服务器中,设备仅会通过HTTP的形式进行缓存以支持离线使用,而不直接存储资源文件;
托管应用,所述托管应用通过在Web桌面环境的主屏幕上添加一个指向一个硬编码、完全限定的URL的图标完成添加,所述 URL 指向托管应用所属的Web服务器上应用程序的根目录中的启动页面,所述托管应用的资源文件存储于远端服务器内。
进一步,所述Web平台支撑层包括运行时模块、安全模块和Web APIs模块,其中,
运行时模块与应用层以及安全模块连接,其用于构建安全模块,同时采用浏览器的开源网页渲染引擎,用于为Web应用的渲染与JavaScript的执行提供支持;
安全模块与运行时模块及Web APIs模块连接,其基于运行时模块及应用权限模型搭建而成,用于根据应用类型及用户授予的权限决定应用可访问的Web APIs的子集;
Web APIs模块,包括符合W3C的标准API集合以及多个为UI暴露的非标准API集合,所述标准API集合集成在所述开源网页渲染引擎中,用于为具备相应权限的Web应用提供调用Web桌面环境功能或设备硬件功能的入口,所述非标准API集合通过api-deamon子模块以WebSocket的形式作为一个守护进程提供,用于为具备相应权限的应用提供TCPSocket服务端、应用状态查询与控制、桌面环境配置功能、USB服务、音量控制、时间服务、电源服务以及数据库调用功能。
进一步,所述基础设施层包括底层系统、开源用户空间库及模拟器层,其中,
底层系统由Linux内核、硬件抽象层和调制解调器组成,用于管理设备硬件、提供硬件抽象和接口功能和启动Web平台支撑层;
用户空间库与Web平台支撑层连接,用于为Web平台支撑层提供接口和数据;
模拟器层与Web APIs模块连接,用于通过虚拟化技术为所述开源网页渲染引擎提供调用设备硬件的支持。
进一步,底层系统中采用了AOSP的硬件抽象层框架,将所述Web桌面环境编译成镜像文件,将Web桌面环境通过安卓刷机的方法刷入支持安卓系统的设备中;或
将所述Web桌面环境编译成deb包,直接运行在使用Linux的设备或虚拟机中。
进一步,所述打包应用在Web桌面环境下的开发安装方法包括:
步骤1:创建应用文件夹,所述文件夹内存储用来展示所述打包应用内容的资源文件以及描述所述打包应用的清单文件;
步骤2:根据W3C标准编写清单文件必要的字段,并根据所述打包应用在Web桌面环境中的功能定位,写入所述打包应用的类型;
步骤3:完成应用开发,并根据需求、打包应用类型和代码的具体实现在清单文件的permissions字段中声明所需的应用权限;
步骤4:根据打包应用的需求,以ServiceWorker的形式编写后台服务脚本代码,所述后台服务包括系统消息监听、应用活动响应和网络事件监听响应,并在清单文件中的serviceworker字段声明后台服务脚本地址、系统消息监听类型和应用活动的名称与条件;
步骤5:创建生产文件夹,将所述打包应用的代码进行生产环境的编译,并将编译结果、资源文件及清单文件按照文件间的依赖关系存储在所述生产文件夹中,使清单文件位于生产文件夹的根目录下;
步骤6:通过Web桌面环境提供的二进制安装工具将所述打包应用的生产文件夹处理为压缩包,对于装有桌面环境的通过ADB连上开发终端的移动设备,二进制安装工具将会自动把ZIP包推送并安装进设备;对于Linux设备或虚拟机,手动将ZIP包复制入指定文件夹内即可。
本发明的工作原理和有益效果:
1. 本发明提供了一个供现有的Web应用跨端使用的新方法,即采用上述架构搭建的Web桌面环境,利用Web技术编写并提供了位于应用层的核心应用,这些核心应用拥有更改环境配置、显示环境UI、管理应用的功能,而这些功能是该Web桌面环境所必需的,同时还通过Web平台支撑层和基础设施层为Web应用提供了调用设备硬件功能、后台服务支持和通知提醒等。同时用户可以根据需求在该Web桌面环境安装运行第三方应用,因此不受操作系统差异的影响,同时具备完善的功能,满足用户更好的使用体验。
2. 本发明的Web桌面环境,在第三方应用中提供了一种打包应用,这种应用类型将代码与资源全部放设备中,杜绝被随意篡改,能够最大可能地确保该打包应用是安全不损害用户利益与隐私的,如此Web桌面环境才能向应用开放更多权限,开放标准和非标准的Web APIs。从而让打包应用能在功能、行为上表现地更像原生应用。
附图说明
参照附图,本发明的公开内容将变得更易理解。本领域技术人员容易理解的是:这些附图仅仅用于说明的目的,而并非意在对本发明的保护范围组成限制。此外,图中类似的数字用以表示类似的部件,其中:
图1是根据本发明一种多端自适应的Web桌面环境的结构框图示意图。
具体实施方式
下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
实施例1
本实施例主要对Web桌面环境的架构做出详细的解释,在本发明实施例中,下述的应用均为Web应用,本发明是通过构建一个Web桌面环境,那么在这个Web桌面环境下安装运行的所有应用,包括核心应用和第三方应用都为Web应用。其中,核心应用为本发明的Web桌面环境提供基础功能,用户可以根据需求在本发明的Web桌面环境以打包应用、托管应用或者PWA应用多种方式安装运行第三方应用。本实施例中的设备一概指代的是“装载该Web桌面环境的设备”,包括文中说明的“符合指定硬件和驱动程序的移动终端”以及“使用Linux的设备终端或虚拟机”,是本发明中Web桌面环境的载体与基础。
图1是根据本发明一种多端自适应的Web桌面环境的结构框图示意图。如图1所示,本发明实施例中的一种多端自适应的Web桌面环境主要包括了依次连接的应用层、Web平台支撑层和基础设施层。
1 应用层
应用层包括以Web技术开发的核心应用以及第三方应用。核心应用的目的,是给用户提供该桌面环境最基本的交互支持,像是环境UI显示、应用管理、状态管理、键入文字等,这些是关乎Web桌面环境运行的基础功能。因为它们随Web桌面环境一起提供、为Web桌面环境的基础功能外显提供支持、被授予最高安全访问等级,所以被命名为“核心应用”。核心应用会影响和管理第三方应用,比如设置应用更改语言选项来影响第三方应用的语言显示、System应用管理应用前后台切换等等,但并不会影响到第三方应用的开发和安装。
1.1核心应用
核心应用包括System应用、Shared应用、主屏幕应用、设置应用、键盘应用、首次使用应用,随Web桌面环境安装提供,并具备最高安全访问等级。
1.1.1 System应用是Web桌面环境启动时运行的第一个应用,其他核心应用会以WebView的形式创建在System应用的DOM节点内,实现应用隔离和加载。同时System应用还负责为Web桌面环境提供环境UI、应用生命周期管理、系统状态与功能管理、安全与隐私管控以及向用户及其他Web应用提供Web桌面环境功能调用的功能。
其中,所述Web桌面环境的UI显示包括环境UI和应用UI ,所述环境UI和应用UI通过CSS中的媒体查询功能,为不同的屏幕比例与大小提供了自适应布局。System应用为Web桌面环境提供的UI显示与交互为环境UI,利用CSS中的媒体查询功能,从而可以令桌面环境以及运行其中的应用都能以一套代码实现多端自适应与窗口自适应。媒体查询功能是编程语言提供的功能特点,本实施例通过该功能特点实现了多端上的“自适应”功能。
1.1.2 Shared应用为其他应用共享资源与文件,以使其他应用可以保持风格一致的外观与行为,因此其他应用对Shared应用的http请求将不会受到CSP(Content SecurityPolicy)的限制。
1.1.3 主屏幕应用展示和管理设备上安装的Web应用的图标与小组件,方便用户启动与切换应用。
1.1.4 设置应用提供系统级和应用级的设置选项,让用户可以根据自己的喜好和需求调整桌面环境的功能、行为和主题。
1.1.5 键盘应用提供一个虚拟键盘,将用户的点击事件转化为输入事件。
1.1.6 首次使用应用作为Web桌面环境安装后首次运行时引导应用,为用户的初次使用进行语言、时间、网络、主题以及设备信息状态管理设置;
1.2 第三方应用
是第三方开发者或互联网提供的打包应用、托管应用或者PWA应用,为用户提供更加丰富的使用功能,第三方应用的打包应用的安全访问等级仅被定为可信,而托管应用及PWA应用被定为不可信。
第三方应用的划分根据应用资源所在位置和安装方式分为打包应用、PWA应用以及托管应用三种形式,应用资源包含HTML、CSS、JavaScript、多媒体资源及其他资源。
1.2.1 打包应用
打包应用是一个包含应用所有资源的资源文件及一个清单文件的ZIP文件,打包应用通过桌面环境提供的二进制工具进行安装,安装时资源将全部存于装载桌面环境的设备中,对资源的更改只能通过重新安装的手段,安全性较高。因此安全模块中的应用权限模型要求所有需求敏感权限的核心应用及第三方应用必须以打包应用的形式进行安装。应用权限模型属于Web平台支撑层的“安全模块(下文详述)”,并非单独模块。
1.2.2 PWA应用
PWA应用的资源位于远程服务器中,通过HTTP的形式进行加载,可以通过桌面环境的A2HS(Add to Home Screen)功能或提供的二进制工具进行联网安装,安装后只有清单文件会被下载存储至装载桌面环境的设备内,其他的所有应用资源都是远程存储、本机缓存的,对于权限要求不高的第三方应用可以采用PWA应用形式。
1.2.3 托管应用
托管应用表现形式与普通的网页相似,装载桌面环境的设备将不存储任何应用资源,托管应用通过一个硬编码、完全限定的 URL 进行加载,该 URL 指向应用所属的 Web服务器上应用程序的根目录中的启动页面,它的安装方式是通过在主屏幕上添加一个指向对应URL的图标完成。
本实施例中,应用是所有运行在Web桌面环境中为用户提供体验与服务的程式,从功能定位(为Web桌面环境提供最基本的功能,比如展示环境UI、键入字符、管理其他应用等;提供其他附加功能,比如第三方开发者开发的指南针APP提供定位服务等)、来源(是随Web桌面环境一同提供,还是由第三方或互联网提供)与安全访问等级角度细分为核心应用和第三方应用;Web应用包括了第三方应用和核心应用,并且细分的核心应用和第三方应用都是由Web技术开发的,并无背后的技术内涵上的区别,无论在运行表现上还是在运行机制上都一致,即使是编写开发形式都未作对立或区别,编写形式的不同更突出的是在传统PWA应用和打包应用之间,而非“核心应用”和“第三方应用”之间。
2 Web平台支撑层
Web平台支撑层包括运行时模块、安全模块和Web APIs模块。其中运行时模块中的“运行时”做为名词使用。
2.1 运行时模块
运行时模块与应用层以及安全模块连接,运行时模块为web应用的渲染和执行提供支持,在此基础上构建安全模块,同时运行时模块为应用提供基础功能的支持,具体的:
运行时模块与部分Web APIs模块采用的是Mozilla的开源网页渲染引擎Gecko,Gecko运行时可以为Web APIs模块中的Web应用的渲染与JavaScript的执行提供支持。
运行时模块同时提供基于Web技术的原生功能,以提供各应用的后台服务,使应用在处于后台甚至未启动时提供通信、唤起、离线缓存、操作数据库和应用功能服务的能力。下文将详述后台服务的实现机制。
2.2 安全模块
安全模块与运行时模块及Web APIs模块连接,其基于运行时模块及应用权限模型搭建而成,用于根据应用类型及用户授予的权限决定应用可访问的Web APIs的子集。
安全模块先识别应用的类型,判断当前Web应用为PWA应用/托管应用/打包应用中的哪一种,如果是打包应用则再判断是否为核心应用,并结合应用清单文件中声明的权限字段与用户手动赋予的权限给这个被识别的应用分配相应的Web APIs模块子集调用权限,并且只允许应用以Web API的形式访问底层设备硬件,以此来为桌面环境和用户提供保障。
2.3 Web APIs模块
Web APIs模块是由符合W3C标准的API集合以及为UI暴露的非标准API集合组成,前者集成在Mozilla的开源网页渲染引擎Gecko中为通过安全模块判定后具备相应权限的Web应用提供调用桌面环境功能或设备硬件功能的入口,后者通过名为api-deamon的且以WebSocket的形式作为一个守护进程的模块为通过安全模块判定后具备相应权限的应用提供TCPSocket服务端、应用状态查询与控制、桌面环境配置功能、USB服务、音量控制、时间服务、电源服务以及数据库调用的API集合。
在Web平台支撑层中,运行时模块为应用的渲染与执行提供了支持,而安全模块控制应用访问Web APIs模块的能力,并规定了应用必须通过Web APIs模块才能调用硬件功能。Web平台支撑层对应用层的运行支持与调用限制的行为,展明了Web平台支撑层和应用层两层的联系与配合,Web支撑层为应用提供的渲染和执行的能力,也是用户与应用交互的基础,因此为“应用与用户交互”提供了支持 。
3 基础设施层
基础设施层包括底层系统、开源用户空间库、模拟器层。其中,底层系统以及开源用户空间库采用开源项目Gonk。
3.1 底层系统
底层系统是一个以Linux内核为核心辅以硬件抽象层和OEM(Original EquipmentManufacturer)提供的调制解调器组成,用于为整个Web桌面环境提供管理设备硬件和启动其他层的功能。
3.2 开源用户空间库
开源用户空间库使用了一些开源项目以及一些与AOSP(Android Open SourceProject)共享的部分,用户空间库与Web平台支撑层连接,其运行于内核之上并为Web平台支撑层提供了一些接口和数据。
3.3 模拟器层
模拟器层与Web APIs模块连接,其为Web桌面环境在Linux桌面平台上为运行时状态才需要的模块,它采用开源QEMU模拟器通过虚拟化技术为Gecko提供调用硬件的支持。
在基础设施层中,底层系统两个功能有 a. 管理设备硬件,并提供硬件抽象和接口 b. 启动其他层,说明了该层与设备、该层与其他层的关系;用户空间库为Web平台支撑层提供接口和数据;在Linux平台或虚拟机内运行时,模拟器层通过虚拟化技术为Gecko提供调用硬件的支持。
本实施例中,Web桌面环境采用的底层系统中采用了AOSP的硬件抽象层,因此可以将整个环境编译成镜像文件,并通过安卓刷机的方法将桌面环境刷入符合指定硬件和驱动程序的移动终端中。同时,也可以将桌面环境编成deb包,使其运行在使用Linux的设备终端或虚拟机中。并在上述终端中提供一致的视觉与使用体验。
本实施例采用上述架构搭建的Web桌面环境,利用Web技术编写并提供了位于应用层的核心应用,这些核心应用拥有更改环境配置、显示环境UI、管理应用的功能,而这些功能是该Web桌面环境所必需的,同时还基于运行时模块为应用提供了包含调用设备硬件功能、后台服务支持、系统消息与活动请求、通知提醒在内的核心功能。
后台服务支持,指利用ServiceWorker技术(一种基于Web技术提供的原生功能,该原生功能由运行时模块提供)实现应用在处于后台甚至未启动时提供通信、唤起、离线缓存、操作数据库和应用功能服务的能力。ServiceWorker技术主要由Web平台支撑层的运行时模块提供的支持。在Web桌面环境中,使用后台服务支持前要求在应用清单文件中声明式地注册一个以事件为驱动的脚本,该脚本随应用安装注册启动并于每次设备开机后启动执行,除了能监听和响应传统的网络事件外,还能响应桌面环境发送的系统消息以及活动请求。
系统消息与活动请求功能是Web桌面环境利用ServiceWorker的后台线程特点增添的增强功能,用于拓展应用与桌面环境以及应用与其他应用之间的交互能力。系统消息用于桌面环境广播与其相关的信息,需要先在应用的清单文件中声明消息类型,然后才能在桌面环境触发相应系统消息时,应用的后台服务才能收到该消息。活动请求用于提供一种应用与应用间的交互方法,在应用的清单文件内声明活动,声明内容包括活动名、活动的触发条件及是否有返回值,声明后即可接收来自其他应用的符合条件的活动请求,并通过后台服务脚本给予相应回应。
通知提醒利用W3C标准的Notification API实现的功能,它是应用向桌面环境广播消息的途径,可以用于拓展应用与桌面环境以及应用与其他应用之间的交互能力。每一条通知都会由核心应用System接收并作为环境UI向用户展示。同时所有的应用后台服务脚本也可以通过事件的方式监听广播的通知提醒,并读取其内容。
实施例2
本实施例主要解释了利用Web技术开发安装一个可以在实施例1的Web桌面环境下运行的核心应用或提供特定服务功能的打包应用的过程,分别对应的是应用层——核心应用模块与应用层——第三方应用——打包应用模块。开发安装方法可以配合并利用Web桌面环境的特点功能,具体步骤如下:
步骤1:创建应用文件夹,所述文件夹内存储资源文件与应用的清单文件,所需资源文件至少包含有展示应用内容的HTML、JavaScript、CSS文件,再根据功能需求以及开发需要添加其他资源文件。
步骤2:根据W3C标准编写清单文件必要的字段,并根据应用在Web环境中的功能定位,写入应用是否为核心应用类型的字段,以获取符合类型的Web APIs模块子集的调用权限。
步骤3:可以选择使用任一前端框架与其他任意第三方库完成应用开发,并根据需求、应用类型和代码的具体实现在清单文件内声明所需的应用权限字段,在声明获取相应权限后,可以通过W3C标准规定的方式调用标准Web APIs模块子集,也可以通过网络请求的方式获取api-deamon的非标准Web APIs模块子集并调用。
步骤4:根据打包应用的需求,以ServiceWorker的形式编写后台服务脚本代码,包括系统消息监听、应用活动响应和网络事件监听响应等后台服务。并在清单文件中的指定字段声明后台服务脚本地址、系统消息监听类型和应用活动名称与条件。
步骤5:将应用代码进行生产环境的编译,并将编译结果、资源文件及清单文件按照文件间的依赖关系整合并置于一个新建的生产文件夹中,并保证清单文件位于生产文件夹的根目录下。
步骤6:通过Web桌面环境提供的二进制安装工具将所有应用的生产文件夹打包成ZIP包。对于装有桌面环境的并且通过ADB(Android Debug Bridge)连上开发终端的移动设备,二进制安装工具将会自动把ZIP包推送并安装进设备;对于运行在Linux设备或虚拟机的桌面环境,手动将ZIP包复制入设备或虚拟机中的指定文件夹内即可。
需要清楚的是,Web桌面环境并不参与应用的开发流程,应用的开发实质上还是在Windows、Linux、MacOS等系统下开发完成,并在打包后安装入桌面环境。核心应用与第三方的打包应用采用类似PWA的编写形式,即在原本的Web应用编写要求上,还需在应用包的根目录下存在一个符合W3C标准的清单文件(Web manifest),通过清单文件内的字段来描述和定义该Web应用及其行为。进一步,所述的Web桌面环境中应用的清单文件在W3C的清单文件编写标准上新增了声明字段,新增的字段有:应用类型、应用角色、应用权限、后台服务、系统消息类型和应用活动声明,其中应用活动声明包括应用活动名称与应用活动条件。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (8)
1.一种多端自适应的Web桌面环境,其特征在于,所述Web桌面环境包括依次连接的应用层、Web平台支撑层和基础设施层,所述应用层包括核心应用和第三方应用,所述核心应用基于Web技术开发,用于提供Web桌面环境的基础功能,所述第三方应用为开发者或互联网提供的Web应用,用于提供扩展功能;
所述Web平台支撑层为应用层的应用提供渲染和执行上的技术支持;
所述基础设施层为整个Web桌面环境提供管理硬件设备、硬件抽象和接口以及启动Web平台支撑层的功能。
2.根据权利要求1所述的一种多端自适应的Web桌面环境,其特征在于,所述核心应用包括:
System应用,用于为Web桌面环境提供环境UI、应用生命周期管理、系统状态与功能管理、安全与隐私管控以及向用户及其他Web应用提供Web桌面环境功能调用的功能;
Shared应用,用于为其他应用共享资源与文件;
主屏幕应用,用于展示和管理Web应用图标与小组件;
设置应用,用于提供系统级和应用级的设置选项;
键盘应用,用于提供虚拟键盘,将用户的点击事件转化为输入事件;
首次使用应用,用于在所述Web桌面环境安装后首次运行时引导用户进行语言、时间、网络、主题以及设备信息状态管理的设置。
3.根据权利要求1所述的一种多端自适应的Web桌面环境,其特征在于,所述Web桌面环境的UI显示包括环境UI和应用UI,所述环境UI和应用UI通过CSS中的媒体查询功能,为不同的屏幕比例与大小提供了自适应布局。
4.根据权利要求1所述的一种多端自适应的Web桌面环境,其特征在于,所述第三方应用包括:
打包应用,包括应用运行所需的资源文件和一个清单文件,所述资源文件和所述清单文件整合为一个压缩文件,所述打包应用通过Web桌面环境提供的二进制工具进行安装,安装时将所述压缩文件存储于装载Web桌面环境的设备中;
PWA应用,包括一个描述该应用的清单文件,所述PWA应用通过Web桌面环境的添加到主屏幕功能或Web桌面环境提供的二进制工具进行联网安装,安装时将PWA应用的清单文件存储于装载Web桌面环境的设备中,所有资源文件位于远程服务器中,设备仅会通过HTTP的形式进行缓存以支持离线使用,而不直接存储资源文件;
托管应用,所述托管应用通过在Web桌面环境的主屏幕上添加一个指向一个硬编码、完全限定的URL的图标完成添加,所述 URL 指向托管应用所属的Web服务器上应用程序的根目录中的启动页面,所述托管应用的资源文件存储于远端服务器内。
5.根据权利要求1所述的一种多端自适应的Web桌面环境,其特征在于,所述Web平台支撑层包括运行时模块、安全模块和Web APIs模块,其中,
运行时模块与应用层以及安全模块连接,所述运行时模块用于构建安全模块,同时采用浏览器的开源网页渲染引擎,用于为Web应用的渲染与JavaScript的执行提供支持;
安全模块与运行时模块及Web APIs模块连接,其基于运行时模块及应用权限模型搭建而成,用于根据应用类型及用户授予的权限决定应用可访问的Web APIs的子集;
Web APIs模块,包括符合W3C的标准API集合以及多个为UI暴露的非标准API集合,所述标准API集合集成在所述开源网页渲染引擎中,用于为具备相应权限的Web应用提供调用Web桌面环境功能或设备硬件功能的入口,所述非标准API集合通过api-deamon子模块以WebSocket的形式作为一个守护进程提供,用于为具备相应权限的应用提供TCPSocket服务端、应用状态查询与控制、桌面环境配置功能、USB服务、音量控制、时间服务、电源服务以及数据库调用功能。
6.根据权利要求5所述的一种多端自适应的Web桌面环境,其特征在于,所述基础设施层包括底层系统、开源用户空间库及模拟器层,其中,
底层系统由Linux内核、硬件抽象层和调制解调器组成,用于管理设备硬件、提供硬件抽象和接口功能和启动Web平台支撑层;
用户空间库与Web平台支撑层连接,用于为Web平台支撑层提供接口和数据;
模拟器层与Web APIs模块连接,用于通过虚拟化技术为所述开源网页渲染引擎提供调用设备硬件的支持。
7.根据权利要求1所述的一种多端自适应的Web桌面环境,其特征在于,
底层系统中采用了AOSP的硬件抽象层框架,将所述Web桌面环境编译成镜像文件,将Web桌面环境通过安卓刷机的方法刷入支持安卓系统的设备中;或
将所述Web桌面环境编译成deb包,直接运行在使用Linux的设备或虚拟机中。
8.根据权利要求4所述的一种多端自适应的Web桌面环境,其特征在于,所述打包应用在Web桌面环境下的开发安装方法包括:
步骤1:创建应用文件夹,所述文件夹内存储用来展示所述打包应用内容的资源文件以及描述所述打包应用的清单文件;
步骤2:根据W3C标准编写清单文件必要的字段,并根据所述打包应用在Web桌面环境中的功能定位,写入所述打包应用的类型;
步骤3:完成应用开发,并根据需求、打包应用类型和代码的具体实现在清单文件的permissions字段中声明所需的应用权限;
步骤4:根据打包应用的需求,以ServiceWorker的形式编写后台服务脚本代码,所述后台服务包括系统消息监听、应用活动响应和网络事件监听响应,并在清单文件中的serviceworker字段声明后台服务脚本地址、系统消息监听类型和应用活动的名称与条件;
步骤5:创建生产文件夹,将所述打包应用的代码进行生产环境的编译,并将编译结果、资源文件及清单文件按照文件间的依赖关系存储在所述生产文件夹中,使清单文件位于生产文件夹的根目录下;
步骤6:通过Web桌面环境提供的二进制安装工具将所述打包应用的生产文件夹处理为压缩包,对于装有web桌面环境的通过ADB连上开发终端的移动设备,二进制安装工具将会自动把ZIP包推送并安装进设备;对于Linux设备或虚拟机,手动将ZIP包复制入指定文件夹内即可。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410038616.1A CN117555593B (zh) | 2024-01-11 | 2024-01-11 | 一种多端自适应的Web桌面环境 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410038616.1A CN117555593B (zh) | 2024-01-11 | 2024-01-11 | 一种多端自适应的Web桌面环境 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117555593A true CN117555593A (zh) | 2024-02-13 |
CN117555593B CN117555593B (zh) | 2024-04-09 |
Family
ID=89813203
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410038616.1A Active CN117555593B (zh) | 2024-01-11 | 2024-01-11 | 一种多端自适应的Web桌面环境 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117555593B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040255289A1 (en) * | 2003-06-11 | 2004-12-16 | Citycites.Com Corp. | Remote access software solution for rapidly deploying a desktop |
US20060048153A1 (en) * | 2004-08-30 | 2006-03-02 | University Of Utah Research Foundation | Locally operated desktop environment for a remote computing system |
CN102768624A (zh) * | 2011-05-04 | 2012-11-07 | 北京积木恒硕科技有限公司 | 一种基于Web标准构建终端操作系统的方法 |
CN111026372A (zh) * | 2019-12-12 | 2020-04-17 | 北京中电普华信息技术有限公司 | 基于微服务应用架构的Web版手机桌面系统及用户工作台 |
CN111427549A (zh) * | 2020-03-30 | 2020-07-17 | 中国科学院计算机网络信息中心 | 一种人工智能强化学习服务平台 |
CN113010827A (zh) * | 2021-03-16 | 2021-06-22 | 北京百度网讯科技有限公司 | 页面渲染方法、装置、电子设备以及存储介质 |
-
2024
- 2024-01-11 CN CN202410038616.1A patent/CN117555593B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040255289A1 (en) * | 2003-06-11 | 2004-12-16 | Citycites.Com Corp. | Remote access software solution for rapidly deploying a desktop |
US20060048153A1 (en) * | 2004-08-30 | 2006-03-02 | University Of Utah Research Foundation | Locally operated desktop environment for a remote computing system |
CN102768624A (zh) * | 2011-05-04 | 2012-11-07 | 北京积木恒硕科技有限公司 | 一种基于Web标准构建终端操作系统的方法 |
CN111026372A (zh) * | 2019-12-12 | 2020-04-17 | 北京中电普华信息技术有限公司 | 基于微服务应用架构的Web版手机桌面系统及用户工作台 |
CN111427549A (zh) * | 2020-03-30 | 2020-07-17 | 中国科学院计算机网络信息中心 | 一种人工智能强化学习服务平台 |
CN113010827A (zh) * | 2021-03-16 | 2021-06-22 | 北京百度网讯科技有限公司 | 页面渲染方法、装置、电子设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117555593B (zh) | 2024-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7937670B2 (en) | Data sharing system, method and software tool | |
CN110134378B (zh) | 应用程序创建方法及装置、计算机设备及存储介质 | |
US8407584B1 (en) | Stable and secure use of content scripts in browser extensions | |
US7721303B2 (en) | System for management of interactions between users and software applications in a web environment | |
US20230036980A1 (en) | Micro-frontend system, sub-application loading method, electronic device, computer program product, and computer-readable storage medium | |
CN106406961A (zh) | 一种基于浏览器加载、提供应用程序的方法、装置 | |
US20120102433A1 (en) | Browser Icon Management | |
US20120324376A1 (en) | Apparatus for implementing web-based user interface for communication terminal and method thereof | |
CN114077423A (zh) | 基于移动跨平台的机场app开发容器架构 | |
CN112286504B (zh) | 移动APP中基于ReactNative实现小程序开发并加载的方法 | |
JP7106001B2 (ja) | サブアプリケーション開発方法、装置、コンピュータ機器、並びにコンピュータプログラム | |
US20140317537A1 (en) | Browser based application program extension method and device | |
WO2022247594A1 (zh) | 一种页面呈现方法、装置、电子设备、计算机可读存储介质、及计算机程序产品 | |
CN111596916A (zh) | 一种应用程序管理方法、装置、设备及计算机存储介质 | |
CN114125028A (zh) | 微应用的运行方法、装置、设备、存储介质及程序产品 | |
CN111949261B (zh) | 高复用的应用开发配置方法及其系统 | |
US20150067664A1 (en) | System, method and apparatus for transparently enabling software applications with adaptive user interfaces | |
Späth | Pro Android with Kotlin | |
CN112988175A (zh) | 跨平台应用安装包的生成方法、装置、介质及电子设备 | |
CN117555593B (zh) | 一种多端自适应的Web桌面环境 | |
CN112650959B (zh) | 页面加载时长的统计方法、装置、设备及存储介质 | |
WO2021097683A1 (zh) | 安卓系统启动的方法、装置、设备及存储介质 | |
JP2006276939A (ja) | 仮想マシンのプログラム起動方法およびクライアントサーバシステム | |
WO2021129853A1 (zh) | 移动服务升级方法、装置和终端 | |
KR20140049824A (ko) | 원격 응용 프로그래밍 디버깅시스템 및 그 제어방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |