随着个人设备数量越来越多,跨多个设备间的交互将成为常态。基于传统 OS 开发跨设备交互的应用程序时,需要解决设备发现、设备认证、设备连接、数据同步等技术难题,不但开发成本高,还存在安全隐私、兼容性、性能等诸多问题。为了适应万物互联时代的环境变化,鸿蒙系统构建了基于分布式运行环境所需要的基础设施,为开发者提供了基础的分布式框架能力,使开发者可以更方便的实现跨设备的业务开发,向用户提供多设备的交互体验。
基于人机交互研究发现,多设备的交互场景按照时间的串、并行,分为以下两种类型:
串行交互: 指用户相继使用多个设备。此类交互场景要求具备较高的连续性、一致性。
连续性: 当用户从一个设备转向另外一个设备的时候,最新的操作状态应当是继续保留的、未被中断的。
一致性: 当用户在使用手表、手机、大屏等不同设备时,交互方式与基础视觉元素应当是一致的,例如多指手势,控件样式等。这里的“一致”并不等于与“相同”,由于设备的屏幕尺寸、形态的不同,视觉元素可以进行适配调整。
并行交互: 指用户同时使用多个设备。此类交互场景要求具备较高的协作性、互补性。
协作性: 多个设备彼此交互协调,完成一项任务。
互补性: 利用设备的本身形态差异,完成一项任务。例如,当用户在家里找不到电视遥控器的时候,手机可以变身为遥控器,这就是一种设备能力的互补。
对于并行交互与串行交互两种典型场景,鸿蒙系统分布式运行环境分别提供了与之对应的基础能力,即跨端迁移和多端协同,两者统称为“自由流转”。
价值与架构定义
1、价值
自由流转的价值体现在以下几个方面:
自由流转提供了应用跨设备流转的能力。 应用开发只需遵循框架并适配指定的 API,就能实现设备之间的跨端迁移和多端协同。
自由流转框架实现了流转过程,包括流转任务发布、应用免安装、数据序列化、兼容性判断等。 应用开发只需关注在业务数据本身的同步与恢复,简化了应用的处理逻辑,降低了应用开发跨端特性的复杂度。
自由流转将彻底改变应用分发模式。 鸿蒙生态应用不再与传统应用那样,只能局限在单一设备上。
2、架构定义
自由流转依赖于鸿蒙系统提供的分布式运行环境,该环境从下而上可以分为四层:
1、核心基础服务: 为提供自由流转设备互联的核心基础服务,主要包括如下模块。
设备管理服务 : 提供设备管理相关的能力。设备管理服务在系统中的定位是提供应用开发接口的核心服务实现。
分布式软总线: 主要提供基于近场通信技术的通信网络,实现分布式设备之间的有序通信,使得设备之间的传输变得安全可靠、通信 QoS(Quality of Service)可管理、业务质量可预期。
设备画像(Device Profile): 是设备硬件能力和系统软件特征的管理器。典型的设备 Profile 信息包括设备类型、设备名称、存储容量、是折叠屏、有无屏幕、分辨率、设备安全等级、设备 OS 类型、OS 版本号等。设备画像可用于支持智能决策服务进行设备筛选、排序,也可用于支持设备信息的查询。
智能决策服务: 提供智能化的设备筛选能力、设备排序能力。设备筛选能力主要的数据来源基于设备画像。
HiChain: 是设备互信认证部件,提供了设备间互信关系建立、管理、认证、解除的全生命周期管理能力,支撑设备间搭建安全的数据传输通道,是鸿蒙系统设备分布式可信互联的安全基础能力。
身份认证服务: 提供端侧统一的用户身份管理、身份认证和访问控制判断能力。支持多用户操作系统,支持多种用户身份认证方式(包含 PIN、指纹、人脸等)。
2、分布式平台服务: 负责拉通多个物理设备上的运行状态,同时提供跨设备间的资源访问和控制能力。
3、 核心业务框架: 对分布式平台服务层和核心基础服务层所提供能力进行调用,完成相应的业务功能,给应用提供更简单友好的使用接口。
4、开发接口层: 所有的应用通过这一层来使用系统提供的能力。