1 概述
- 官网
- HDC 华为开发者大会
- 鸿蒙开发者学堂
- 鸿蒙生态应用开发白皮书
- 从HarmonyOS到HarmonyOS NEXT的版本对比
2 核心技术理念
在万物智联时代重要机遇期,鸿蒙系统结合移动生态发展的趋势,提出了三大技术理念: 一次开发,多端部署;可分可合,自由流转;统一生态,原生智能
核心技术理念
一次开发,多端部署
- “一次开发,多端部署”:指的是一个工程,一次开发上架,多端按需部署。目的是为了 支撑开发者高效地开发多种终端设备上的应用。为了实现这一目的,鸿蒙系统提供了几个核 心能力,包括多端开发环境,多端开发能力以及多端分发机制。
多端开发环境
HUAWEI DevEco Studio 是面向全场景多设备提供的一站式开发平台,支持多端双向 预览、分布式调优、分布式调试、超级终端模拟、低代码可视化开发等能力,帮助开发者降 低成本、提升效率、提高质量。HUAWEI DevEco Studio 提供的核心能力如下图所示。
HUAWEI DevEco Studio 核心功能和特征
- 多端双向预览
- 分布式调试
分布式调试交互图
- 分布式调优
多设备联合分析
-
超级终端模拟
移动应用开发时需要使用本地模拟器来进行应用调试,实现快速开发的目的。鸿蒙生态 应用需要运行在多种不同类型的设备上,为此 HUAWEI DevEco Studio 提供了不同类型的 终端模拟,支持开发者在多个模拟终端上进行开发调试,降低门槛、节约成本。同时,多个 模拟终端、真机设备也可以自由地组成超级终端,进一步降低开发者获取分布式调测环境的 难度。 -
低代码可视化开发
低代码开发提供 UI 可视化开发能力,支持自由拖拽组件和可视化数据绑定,可快速预 览效果,所见即所得。通过拖拽式编排、可视化配置的方式,帮助开发者减少重复性的代码编写,快速地构建多端应用程序。低代码开发的产物如组件、模板等可以被其他模块的代码 引用,并且能通过跨工程复用,支持开发团队协同完成复杂应用的开发。
多端开发能力
应用如需在多个设备上运行,需要适配不同的屏幕尺寸和分辨率、不同的交互方式(如 触摸和键盘等)、不同的硬件能力(如内存差异和器件差异等),开发成本较高。因此,多 端开发能力的核心目标是降低多设备应用的开发成本。为了实现该目标,鸿蒙系统提供了以 下几个核心能力,支持多端 UI 适配,交互事件归一,设备能力抽象,帮助开发者降低开发 与维护成本,提高代码复用度。
多端 UI 适配
不同设备屏幕尺寸、分辨率等存在差异,鸿蒙系统将对屏幕进行逻辑抽象,包括尺寸和 物理像素,并提供丰富的自适应/响应式的布局和视觉能力,方便开发者进行不同屏幕的界 面适配。
- 屏幕逻辑抽象:鸿蒙系统提供虚拟像素 vp(virtual pixel)对分辨率进行抽象,不同设 备的系统在底层将物理像素转化成虚拟像素,为应用开发者提供统一单位。不同设备的尺寸 存在差异,鸿蒙系统根据设备的屏幕水平宽度,抽象和定义了四种尺寸:超小(xs)、小 (sm)、中(md)、大(lg)。这四种抽象后的屏幕尺寸与日常使用的设备屏幕类型有一 定的对应关系,例如:超小对应智能穿戴设备,小对应手机和折叠屏折叠态,中对应折叠屏 展开态和平板,大对应智慧屏。开发者可面向应用运行的目标设备进行屏幕类型的适配。
尺寸抽象化
-
布局:鸿蒙系统提供的布局主要分为自适应布局和响应式布局。自适应布局是当外部容 器大小发生变化时,容器内元素可以根据相对关系自动变化以适应外部容器变化的布局能力。 相对关系包含占比、固定宽高比、显示优先级等。当前自适应布局能力主要有 7 种:拉伸能 力、均分能力、占比能力、缩放能力、延伸能力、隐藏能力、折行能力。响应式布局是当显 示空间大小发生变化时,布局可以根据预设断点、栅格或特定的特征(如屏幕方向、窗口宽 高等)进行自动切换。当前响应式布局能力主要有 3 种:断点、媒体查询、栅格布局。鸿蒙 系统将响应式布局能力下沉到默认组件的基础属性中,比如网格、列表和轮播组件等,支持 自动增加显示列数,以便充分利用屏幕宽度,节省应用开发工作量。
-
视觉:鸿蒙系统提供的视觉样式能力,包括分层参数、多态组件和主题。
交互事件归一
组件归一响应:当应用部署在不同设备上供用户使用时,需要支持多种 I/O 设备,界面 呈现出相应的状态为用户提供正确的视觉引导。例如触摸时显示按压状态,鼠标特有的悬停 状态,键盘走焦状态。鸿蒙系统默认提供多种交互方式的组件实现,方便开发者支持多种输 入方式。
设备能力抽象
不同设备间的软、硬件能力等存在差异,如设备是否具备定位能力、是否具备摄像头、 是否具备蓝牙功能等,鸿蒙系统需要对设备能力进行逻辑抽象,并提供接口来查询设备是否 支持某一能力,方便开发者进行不同软、硬件能力的功能适配。在鸿蒙系统中,使用 SystemCapability(简写为 SysCap)定义每个部件对应用开发者提供的系统软硬件能力。 应用开发者基于统一的方式访问不同设备的能力
API、SystemCapability、部件和设备的关系
多端分发机制
如果需要开发多设备上运行的应用,一般会针对不同类型的设备多次开发并独立上架。 开发和维护的成本大,为了解决这个问题,鸿蒙系统提供了“一次开发,多端部署”的能力, 开发者开发多设备应用,只需要一套工程,一次打包出多个 HAP,统一上架,即可根据设 备类型按需进行分发。
除了可以开发传统的应用,开发者还可以开发元服务。元服务是一种面向未来的服务提 供方式,具有独立入口的、免安装的、可为用户提供一个或多个便捷服务的应用程序形态。 鸿蒙系统为元服务提供了更多的分发入口,方便用户获取,同时也增加了元服务露出的机会。
多设备按需分发
鸿蒙系统提供了两种模式帮助开发者基于“一次开发,多端部署”能力分发应用和元服 务到不同设备上。
多设备按需分发的两种模式
多入口按需分发
鸿蒙系统为元服务提供了更多的分发入口,基于场景和用户意图拉起元服务,实现“服 务直达”。鸿蒙生态提供的丰富入口如下图所示
标签:多端,鸿蒙,能力,开发,开发者,生态,设备 From: https://www.cnblogs.com/johnnyzen/p/18262187多入口按需分发