在未来万物互联的智能世界中,许多电子设备将不再是孤立的个体。随身携带的智能手机、手腕上的智能手表、办公室的PC和Pad、家里的智能电视、智能冰箱,甚至路上的汽车,都可以进行交互。然而,为了让众多的电子设备相互连接,需要新的交互方式。作为以交互为中心的新时代开发应用框架,HarmonyOS应用框架是如何解决多设备交互问题的?一、万物互联时代的基本交互模型图1人机交互模型图1868年,打字机的出现解决了人机交互中字符输入的问题。1964年,鼠标的出现解决了人机交互中的图形界面交互问题。2007年,多指手势的出现解决了触摸屏的交互问题。纵观人机交互的历史,这三个时间点可以说是人机交互史上的分水岭,它们都为新型设备的交互提供了新的交互方式。但是,这三种交互方式都解决了单机交互的问题,而万物互联时代,交互的设备更多,交互场景更复杂。2、HarmonyOS如何解决多设备交互问题?要了解HarmonyOS应用框架是如何解决多设备交互问题的,我们首先需要了解HarmonyOS分布式应用框架,它分为五层(如图2所示)。图2分布式应用框架整体架构图Layer1为底层软件:包括内核、驱动、软总线。这一层离开发者比较远。Layer2是基础能力平台:包括分布式任务调度、分布式数据管理、分布式硬件管理、分布式文件管理等分布式环境下的诸多基础服务。Layer3是应用框架的核心服务:大致可以分为全局包管理和分布式运行管理两部分。与传统操作系统不同的是,HarmonyOS上的包管理需要处理整个超级终端上所有设备的包信息,所以称为全局包管理。在分布式运行管理中,协作和迁移框架是两个关键点。Layer4是开发者使用的编程接口层:它为开发者提供了通过简洁的接口调用系统底层的能力。Layer5是开发应用程序的用户程序层,与开发人员密切相关。基于多年人机交互研究分析发现,在多设备交互场景中,用户使用设备的场景可以分为两类,一类是用户同时使用多个设备时间,另一种是用户连续使用多个设备(如图3所示)。图3多设备交互模型图1.同时使用(Simultaneous)当我们同时使用多台设备时,除了并发之外,交互模型还有两个重要的特征,就是协作和互补。协作是指多台设备相互交互、相互协调,共同完成一项任务;互补性是指利用设备自身在形式上的差异,相互学习以完成一项任务。比如,当我们在家里找不到电视遥控器的时候,手机可以变身为遥控器,这是一种设备能力的补充。2.顺序使用(Sequential)当我们顺序使用多个设备时,连续性和一致性非常重要。连续性是指当从一个设备切换到另一个设备时,操作的状态也应该继续保存而不被中断。例如:将手机播放的视频传到Pad上后,可以继续播放。一致性是指在使用手表、手机、大屏等不同设备时,它们的操作方式和基本视觉元素要保持一致。例如:多指手势、控件样式。当然,一致性并不意味着相同。由于每个设备的屏幕尺寸和形状不同,视觉元素需要有针对性地自适应。为了满足以上两种交互模型,HarmonyOS构建的分布式应用框架提供了多设备协同和跨设备迁移两大基本功能,解决多设备交互问题。下面重点介绍Layer3实现多设备交互模型的两个框架,即多终端协同框架和跨终端迁移框架。1.多端协同框架多端协同是实现用户应用流的技术方案,是指多个终端上的不同FA/PA同时或交替运行,以实现完整的服务;或者多个终端上的同一个FA/PA同时运行,实现完整的服务。商业。多个设备作为一个整体为用户提供比单个设备更高效和身临其境的体验。说明:FA:FeatureAbility,有UI界面,PA:ParticleAbility,无UI界面。例如,手机端应用作为游戏手柄,智慧屏端应用作为游戏显示器,为用户形成全新的游戏体验;或者将平板端的应用作为答题板,将智慧屏端的应用作为直播,为用户形成全新的在线课堂体验。图4多终端协同当我们的业务需要跨越多个设备时,有两个基本能力需要保证。一是能够建立跨设备的连接路径,实时感知连接状态的变化;二是能够在业务协作的连接通道上传输状态和数据。多终端协同框架是为用户同时使用多台设备的场景准备的。借助多终端协同框架,开发者可以完成不同设备间业务逻辑的协同,以及设备间硬件能力互补的功能。2.跨设备迁移框架跨设备迁移是实现用户应用迁移的技术方案。就是将设备1上运行的FA迁移到设备2上,通过IAbilityContinuation实现业务迁移。迁移完成后,设备2端的FA继续执行任务,而设备1端的应用退出。当用户将任务从一台设备拖到另一台设备时,应用程序将收到来自系统的调用。这时,应用程序可以通知系统它需要保存的状态,系统会使用分布式任务管理将数据传递到目的地,然后解包数据并恢复应用程序状态。在这种情况下,用户的感觉是任务已经从一台设备迁移到另一台设备。比如你想把手机看的视频切换到屏幕更大、音效更好的Pad上,你可以使用HarmonyOS2新的服务中心,直接将app一步拖到Pad上。手机上的任务中心。一直在看。为此,需要使用跨端迁移框架(如图5所示)。图5跨设备迁移迁移和协同需要开发者的支持,但此类新特性往往无法在短时间内全面普及。当应用不适应迁移框架时,系统如何完成跨段迁移任务?①跨设备迁移和窗口管理为了保证用户体验的一致性,当应用不适配迁移框架时,系统将通过分布式窗口管理能力完成跨设备迁移任务。如图6所示,当用户跨设备拖动任务时,HarmonyOS系统会将任务窗口迁移到VirtualWindow(虚拟窗口)进行渲染,然后将渲染结果通过ProxyWindow(远程代理窗口)传递给软总线。),从而达到跨设备展示的效果。图6分布式窗口管理示意图②分布式硬件平台及自动跟进在应用程序的运行过程中,经常会用到一些硬件设备。例如:相机、麦克风或传感器。当我们将应用程序从一台设备迁移到另一台设备时,我们不仅要转移用户界面和应用程序状态,还要管理相应设备的硬件。为了让应用迁移的过程更加一致,我们在硬件层面系统做了两件事(如图7所示):图7分布式硬件平台和自动跟随第一件事是“硬件资源池化”。即:HarmonyOS系统会对超级终端上所有设备的硬件进行全局编号和虚拟化,使得任何设备上的软件都可以使用所有超级终端设备中的硬件。第二件事是“自动跟随”。应用程序使用的其实是一个虚拟句柄,不绑定具体的硬件。当我们将软件实体从一台设备迁移到另一台设备时,系统中的迁移决策模块会自动将硬件也一起切换到目标设备,让整个用户体验保持一致。经过上面的介绍,相信大家对于HarmonyOS应用框架是如何解决多设备交互问题的,都有了深刻的了解。作为面向万物互联新时代的智能终端操作系统,鸿蒙期待与开发者携手共建鸿蒙生态,为用户创造全新体验和无限可能。
