0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HarmonyOS应用框架如何解决多设备交互问题?

话说科技 来源:话说科技 作者:话说科技 2021-08-11 11:02 次阅读

随着全场景多设备生活方式的不断深入,用户拥有的设备越来越多,除了我们每天带在身上的手机、手腕上的智能手表、口袋里面的无线耳机、背包里面的PC和Pad、另外家里还有智能电视、智能冰箱等设备,这些年,汽车也在逐步地变成一台跑在道路上的电子设备,如果这些设备都是彼此孤立的,那体验一定是很差的。

因此,要想让万物互联,就需要新的交互模式,而新的交互模式在开发时,需要应用框架加持,HarmonyOS应用框架就解决了新时代的交互问题。接下来我们以用户交互为起点,来介绍HarmonyOS应用框架是如何解决多设备交互问题的。

一、万物互联时代的基本交互模型

如图1所示,纵观人机交互历史,有以下几个关键时间点:

1868年,打字机的出现解决了人机交互中文字输入的问题

1964年,鼠标的出现解决了人机交互中图形界面交互的问题

2007年,多指手势的出现解决了触摸屏的交互问题

d23fd1ca14ba461cb94d9d9b37c6a7a0?from=pc

图1 人机交互模式图

这三个历史时间点可以说是人机交互史上的分水岭,它们提供了新的交互方式解决了新类型设备的交互问题。但是,这三种交互方式解决的都是单机交互的问题,而万物互联时代面临的是多设备交互的复杂问题。

基于人机交互多年的研究分析,我们发现,在多设备的交互场景上,用户使用设备的场景可以分为两大类,一类是用户同时使用多个设备,另一类是相继使用多个设备(如图2所示)。

e8826fd87fcc46669f4b128e9c159d41?from=pc

图2 多设备交互模型图

1.同时使用(Simultaneous)

当我们在同时使用多个设备时,除了并发性之外,交互模型还有两个重要的特点就是:协作性和互补性。协作性是指多个设备彼此交互协调完成一项任务。互补性是指利用设备的本身形态差异,设备之间互相取长补短,完成一项任务。

例如,当我们在家里找不到电视遥控的时候,手机可以变身成遥控器,这就是一种设备能力的互补。

2.相继使用(Sequential)

而当我们相继使用多个设备时,连续性和一致性就非常重要了。连续性是指,当我从一个设备转向另外一个设备的时候,我刚刚操作的状态应当是继续保留没有被中断的。例如:将手机上播放的视频转到PAD上后能够继续播放。而一致性是指,当我们在使用手表、手机、大屏等不同设备时,它们操作方式和基础视觉元素应当是一致的。例如:多指手势、控件的样式。当然,一致不代表一样,每种设备由于其屏幕尺寸和形态不一样,视觉元素还需要有针对性地进行一些自适应。

为了满足上述两种交互模型,HarmonyOS构建的分布式应用框架中提供了两种基础功能,分别是:多端协同与跨端迁移。

接下来我们将介绍HarmonyOS的上述两个能力是如何解决多设备交互问题的。


二、HarmonyOS如何解决多设备交互问题?

首先我们来介绍HarmonyOS分布式应用框架,该框架可以分为5层(如图3所示)。

9ec3c12925f0461e8f81a613e53fb8a1?from=pc

图3 分布式应用框架整体架构视图

Layer1是底层软件,包括内核、驱动和还有软总线,这一层与开发者距离相对较远。

Layer2是基础能力平台,它包含了很多分布式环境下的基础服务,例如:分布式任务调度、分布式数据管理、分布式硬件管理以及分布式文件管理等。

Layer3是应用框架的核心服务,大体可以分为两块:一块是全局包管理,一块是分布式运行管理。与传统的操作系统不同,HarmonyOS上的包管理,需要处理整个超级终端上所有设备的包信息,因此我们称之为全局包管理。而对于分布式运行管理,将在下文重点介绍,其中包含了协同和迁移框架。

Layer4是开发者所使用的编程接口层。尽管系统底层的实现非常复杂,但是我们在第四层为开发者提供了简洁的接口。

Layer5是开发应用的用户程序层,这一层与开发者联系密切。

接下来我们将重点为大家介绍Layer3中实现多设备交互模型的两个框架,分别是多端协同框架和跨端迁移框架。

1.多端协同框架

多端协同框架就是为用户同时使用多个设备的场景而准备的。例如:手机侧应用做游戏手柄,智慧屏侧应用做游戏显示,为用户组成一个全新的游戏体验;又如:平板侧应用做答题板,智慧屏侧应用做直播,为用户组成一个全新的上网课体验。

要实现这样的业务,就要借助多端协同框架(如图4所示)。

76f5cb9aa9c84d158c11f4a853ae1b1c?from=pc

图4 多端协同

多端协同是一种实现用户应用程序流转的技术方案,指多端上的不同FA/PA同时运行、或者交替运行实现完整的业务;或者多端上的相同FA/PA同时运行实现完整的业务。多个设备作为一个整体为用户提供比单设备更加高效、沉浸的体验。

说明:FA:Feature Ability,有UI界面, PA:Particle Ability,无UI界面。

当我们的业务需要跨越多个设备时,有两个基本的能力需要保证:

一是能够建立跨设备的连接通路,并且实时感知连接状态的变化。这一点通过IAbilityConnection来完成,它依赖分布式管理服务和软总线来进行底层连接的管理。

二是能够在连接通道上传递状态和数据,以进行业务的协同。这一点可以通过HarmonyOS的IDL实现。这些传递的数据既包含了系统需要传递的数据,也包含了应用程序进行需要传递的数据。

有了这两个能力,开发者便可以完成不同设备之间业务逻辑的协同,以及设备之间硬件能力互补的功能。

2.跨端迁移框架

跨端迁移是用来为用户相继使用多个设备而准备的,它是我们常用的一个场景。例如,当你通过手机观看视频时,觉得体验不够好,你想切换到屏幕更大、音效更好的PAD上继续观看,在HarmonyOS之外的系统上,你只能先解锁PAD,找到那个应用,然后再找到播放历史,如果运气好,你的播放进度已经被同步过去了,但很可能,由于网络同步的延迟,你还得先找到刚刚观看的位置,然后再继续观看。

而关注HarmonyOS系统的朋友们一定会知道,在今年HarmonyOS 2发布会上,我们发布了全新的服务中心。在这个服务中心当中,你可以跨设备的管理整个超级终端上的任务列表,这使得你可以直接在手机上的任务中心,一步将任务拖动到PAD上就可以了。

要完成这一点,就要借助跨端迁移框架(如图5所示)

415ac15d3c0e4d06ab52c9f689cbb434?from=pc

图5 跨端迁移

跨端迁移是一种实现用户应用程序流转的技术方案,是将设备1端运行的FA迁移到设备2端上,通过IAbilityContinuation实现业务迁移。完成迁移后, 设备2端的FA继续任务,而设备1端应用退出。当用户将任务从一台设备拖动到另外一台设备上时,应用程序会收到来自系统的调用,此时应用程序可以将自己需要保存的状态告知系统,系统会借助于分布式任务管理将数据传递到目标端,然后拆包数据并恢复应用状态。在这种情况下,用户感受到的就是将任务从一个设备迁移到了另外一个设备。

迁移和协同需要开发者的支持,但这类新的特性往往并不能在短时间内获得完全地普及, 当应用没有适配迁移框架时,系统要如何完成跨段迁移任务?

①跨端迁移与窗口管理

为了保证用户体验的一致性,当应用没有适配迁移框架的时候,系统会通过分布式窗口管理的能力完成跨端迁移任务。如图6所示,当用户跨设备拖动任务时,HarmonyOS系统会将任务窗口迁移到一个Virtual Window(虚拟窗口)上渲染,然后将渲染的结果通过软总线传递到ProxyWindow(远端的代理窗口)上,由此达到跨设备显示的效果。

b517dedb68054f06994bb962a2d78e39?from=pc

图6 分布式窗口管理图

②分布式硬件平台与自动跟随

我们知道,应用在运行过程中,很多时候都会利用一些硬件设备。例如:Camera、麦克风或传感器。而当我们将一个应用从一个设备迁移到另外一个设备之后,不只是把用户界面和应用状态转移过去就可以了,如果转移之后声音还留在原来的设备上播放,那就比较奇怪了。因此,在HarmonyOS中,这些硬件是如何管理的呢?

为了使得应用迁移的流程更加具有一致性,我们在硬件层面系统中做了两件事情(如图7所示):

262f6f54777544a2ae7be8c27185cd4a?from=pc

图7 分布式硬件平台与自动跟随

第一件事是“硬件资源池化”。即:HarmonyOS系统会将超级终端上所有设备的硬件进行全局的编号和虚拟化,这使得任何一个设备上的软件都可以使用所有超级终端设备内的硬件。

第二件事是“自动跟随”。应用程序使用的其实是一个虚拟的句柄,它并非与某个特性硬件相绑定,当我们在将某个软件实体从一个设备迁移到另外一个设备时,系统中的迁移决策模块会自动将硬件也一起切换到目标设备上,使得整个用户体验是一致的。

经过上述介绍,我相信大家已经理解HarmonyOS应用框架是如何解决多设备交互问题的。

作为新一代的智能终端操作系统,HarmonyOS非常欢迎广大开发者加入我们,成为整个鸿蒙生态的一员,让我们一起,为全球几十亿用户共筑全新的商业生态以及无限可能。

fqj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 设备
    +关注

    关注

    2

    文章

    4503

    浏览量

    70606
  • HarmonyOS
    +关注

    关注

    79

    文章

    1974

    浏览量

    30148
收藏 人收藏

    评论

    相关推荐

    HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)综述

    过程即智慧分发。其中系统入口包括:小艺对话、小艺搜索、小艺建议等。 系统入口、意图框架、鸿蒙生态的关系如下: 二、Intents Kit优势 利用HarmonyOS的大模型、多维设备感知等AI能力
    发表于 11-28 10:43

    HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)习惯推荐方案开发者测试

    意图框架向开发者提供真机测试能力,即开发者可连接设备进行调测。开发者完成代码开发之后,功能正式上架应用市场前,可以在HarmonyOS NEXT设备上面进行自验证,打磨体验。真机测试分
    发表于 11-25 17:37

    HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)习惯推荐方案概述

    用户的行为习惯。 2.在HarmonyOS学习到用户的行为习惯后,会给用户推荐相应功能,并且尝试补充详细功能参数,减少用户执行任务的步骤。 以听音乐为例,意图框架设计了统一的意图——播放歌单意图,该意图可以让
    发表于 11-19 17:59

    HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)事件推荐开发者测试

    意图框架向开发者提供真机测试能力,即开发者可连接设备进行调测。开发者完成代码开发之后,功能正式上架应用市场前,可以在HarmonyOS NEXT设备上面进行自验证,打磨体验。真机测试分
    发表于 11-18 17:39

    HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)本地搜索方案概述

    一、概述 本地搜索是在HarmonyOS归一化搜索特性,开发者将应用/元服务内的功能和内容通过意图框架共享到HarmonyOS,即可实现“一步搜索,内容直达”。 二、典型场景 以“音乐垂域”的“歌曲
    发表于 11-06 10:59

    AWTK 最新动态:支持鸿蒙系统(HarmonyOS Next)

    导读HarmonyOS是全球第三大移动操作系统,有巨大的市场潜力,在国产替代的背景下,机会多多,AWTK支持HarmonyOS,让AWTK开发者也能享受HarmonyOS生态的红利。AWTK全称
    的头像 发表于 11-06 08:03 224次阅读
    AWTK 最新动态:支持鸿蒙系统(<b class='flag-5'>HarmonyOS</b> Next)

    bootstrap框架和vue框架的区别

    响应式移动优先的网页。Bootstrap的核心设计理念是“移动优先”,即优先考虑移动设备的显示效果,然后通过媒体查询等技术实现对不同设备的适配。Bootstrap提供了一套丰富的CSS和JavaScript组件,可以快速实现各种常见的网页布局和
    的头像 发表于 07-11 09:55 853次阅读

    HarmonyOS NEXT Developer Beta1最新术语表

    。 ArkUI 方舟开发框架,是为HarmonyOS平台开发极简、高性能、跨设备应用设计研发的UI开发框架,支撑开发者高效地构建跨设备应用U
    发表于 06-27 16:16

    HarmonyOS NEXT Developer Beta1中的Kit

    HarmonyOS NEXT Developer Preview1(API 11)版本开始,HarmonyOS SDK以Kit维度提供丰富、完备的开放能力,涵盖应用框架、系统、媒体、图形、应用服务
    发表于 06-26 10:47

    蚂蚁集团发布首个开源金融场景智能体框架

    在第七届数字中国建设峰会上,蚂蚁集团宣布了一项引人注目的举措:正式开源其智能体框架agentUniverse。这一框架不仅是金融领域的首个开源智能体技术
    的头像 发表于 05-28 09:25 709次阅读

    RX8111CE支持电池供电设备实现计算芯片的数据交互

    了更高的要求。在时钟系统的设计上,往往需要对主处理器上的实时时钟模块的状态信息进行交互,这时候就需要采用支持设备的总线来对针对时钟信号在主处理器和协处理器之间进行信
    发表于 04-10 11:15 0次下载

    润开鸿荣膺华为HarmonyOS开发服务商

    近日,华为HDD行业沙龙在北京隆重举行。在这场盛会上,HarmonyOS产品专家发表了引人入胜的议题分享,内容广泛而深入,包括HarmonyOS操作系统的全面介绍、应用特性的独到解析、意图框架的细致阐述,以及行业解决方案的生动应
    的头像 发表于 03-29 09:47 693次阅读

    HarmonyOS开发技术全面分析

    层是 HarmonyOS 的核心能力集合,通过框架层对应用程序提供服务。该层包含以下几个部分: ⚫ 系统基本能力子系统集 :为分布式应用在 HarmonyOS
    发表于 02-21 16:31

    鸿蒙原生应用元服务实战-发布时设备选择注意事项

    在可公开可获取DevEco Studio最新版本,Stage模型ArkTSAPI9开发元服务HarmonyOS4现不支持平板等;但是元服务在发布时是可选平板、智慧屏电视设备发布。 如果开发人员与上架
    发表于 02-21 10:22

    微软发布Agent框架UFO,引领UI交互新纪元

    微软近日宣布推出全新的Agent框架——UFO(UI-Focused Agent),旨在构建更智能、更直观的用户界面交互体验。该框架基于OpenAI的GPT-4V图像识别模型开发,专为Windows操作系统上的应用程序设计,能够
    的头像 发表于 02-19 11:15 1187次阅读