
鸿蒙生态应用核心技术理念
在万物智联时代重要机遇期,渇蒙系统结合移动生态发展的趋势,提出了三大技术理念:
一次开发,多端部署;可分可合,自由流转;统一生态,原生智能。
1)一次开发,多端部署
“一次开发,多端部署”指的是一套代码,一次开发上架,多端按需部署。目的是为了支撑开发者高效地开发多种终端设备上的应用。为了实现这一目的,鸿蒙系统提供了几个核心能力,包括多端开发环境,多端开发能力以及多端分发机制。
多端开发环境
HUAWEI DevEco Studio是面向全场景多设备提供的一站式开发平台,支持多端双向实时预览、分布式调优、分布式调测、超级终端模拟、低代码可视化开发等能力,帮助开发者降低成本、提升效率、提高质量。HUAWEI DevEco Studio提供的核心能力如下图所示:
1.多端双向预览
在鸿蒙生态应用的开发阶段,因不同设备的屏幕分辨率、形状、大小等差异,开发者需要在不同设备上查看界面UI显示,确保实现效果与设计目标一致。传统的开发模式下,开发者需要获取大量不同的真机设备用于测试验证。HUAWEI DevEco Studio提供了多种设备的双向预览能力,支持同时查看UI代码在多个设备上的预览效果,并支持UI代码和预览效果的双向定位修改。
2.分布式调试
鸿蒙生态应用具有天然的分布式特征,体现在同一个应用在多个设备上会有大量的交互。开发过程中,对这些交互进行调试时,需要对每个设备分别建立调试会话,并且需要在多个设备之间来回切换,容易造成调试不连续、操作繁琐等问题。为了提升开发效率,HUAWEIDevEco Studio提供了分布式调试功能,支持跨设备调试,通过代码断点和调试堆栈可以方便地跟踪不同设备之间的交互,用于定位多设备互动场景下的代码缺陷。
3.分布式调优
分布式应用的运行性能至关重要。在跨端迁移场景中,需要应用在目标设备上快速启动,以实现和原设备之间的无缝衔接;在多端协同场景中,需要应用在算力和资源不同的多个设备上都能高效运行,以获得整体的流畅体验。以往开发者在分析分布式应用的性能问题时,需要单独查看每个设备的性能数据,并手动关联分析这些数据,操作繁琐,复杂度高。HUAWEI DevEco Studio提供了分布式调优功能,支持多设备分布式调用链跟踪、跨设备调用堆栈缝合,同时采集多设备性能数据并进行联合分析。
4.超级终端模拟
移动应用开发时需要使用本地模拟器来进行应用调试,实现快速开发的目的。鸿蒙生态应用需要运行在多种不同类型的设备上,为此HUAWEI DevEco Studio提供了不同类型的终端模拟,支持开发者在多个模拟终端上进行开发调试,降低门槛、节约成本。同时,多个模拟终端、真机设备也可以自由地组成超级终端,进一步降低开发者获取分布式调测环境的难度。
5.低代码可视化开发
低代码开发提供UI可视化开发能力,支持自由拖拽组件和可视化数据绑定,可快速预览效果,所见即所得。通过拖拽式编排、可视化配置的方式,帮助开发者减少重复性的代码编写,快速地构建多端应用程序。低代码开发的产物如组件、模板等可以被其他模块的代码引用,并且能通过跨工程复用,支持开发团队协同完成复杂应用的开发。
多端开发能力
应用如需在多个设备上运行,需要适配不同的屏幕尺寸和分辨率、不同的交互方式(如触摸和键盘等)、不同的硬件能力(如内存差异和外设差异等),开发成本较高。因此,多端开发能力的核心目标是降低多设备应用的开发成本。为了实现该目标,鸿蒙系统提供了以下几个核心能力,支持界面和业务逻辑代码复用,帮助开发者降低开发与维护成本,提高代码复用度。
1.多端UI适配
不同设备屏幕尺寸、分辨率等存在差异,系统需要对屏幕进行逻辑抽象,包括尺寸和物理像素,并提供丰富的自适应/响应式的布局和视觉能力,方便开发者进行不同屏幕的界面适配。
屏幕逻辑抽象:鸿蒙系统提供虚拟像素vp(virtual pixel)对分辨率进行抽象,为应用开发者提供统一单位,不同设备的系统会在显示时,在底层进行像素转化。不同设备的尺寸存在差异,鸿蒙操作系统根据设备的屏幕水平宽度,抽象和定义了四种尺寸:超小(xs)、小(sm)、中(md)、大(lg)。这四种抽象后的屏幕尺寸与日常使用的设备屏幕类型有一定的对应关系,例如:超小对应智能穿戴设备,小对应手机和折叠屏,中对应平板,大对应PC与智慧屏。开发者可面向应用运行的目标设备进行所属屏幕类型的适配。
布局:鸿蒙系统提供的布局主要分为自适应布局和响应式布局。自适应布局是当外部容器大小发生变化时,容器内元素可以根据相对关系自动变化以适应外部容器变化的布局能力。相对关系包含占比、固定宽高比、显示优先级等。当前自适应布局能力主要有7种:拉伸能力、均分能力、占比能力、缩放能力、延伸能力、隐藏能力、折行能力。自适应布局能力可以实现界面显示随外部容器大小连续变化。响应式布局是当外部容器大小发生变化时,元素可以根据断点、栅格或特定的特征(如屏幕方向、窗口宽高等)自动变化以适应外部容器变化的布局能力。当前响应式布局能力主要有3种:断点、媒体查询、栅格布局。
视觉:鸿蒙系统提供的视觉样式能力,包括分层参数、多态组件和主题。
2.事件交互归一
不同设备间的交互方式等存在差异,如触摸、键盘、鼠标、语音、手写笔等,系统需要对不同输入方式进行统一处理,向开发者提供归一的逻辑交互事件。
以缩放交互为例,通过多指触控的张合来完成缩放动作,在多设备场景下,缩放交互会出现多种不同的操作输入方式。为了让应用更好的支持这些缩放交互,鸿蒙系统提供如下统一的缩放交互规则。
3.设备能力抽象
不同设备间的软、硬件能力等存在差异,如设备是否具备定位能力、是否具备摄像头、内存从百KiB~GiB等,系统需要对设备能力进行逻辑抽象,并提供接口来查询设备是否支持某一能力,方便开发者进行不同软、硬件能力的功能适配。在鸿蒙系统中,使用SystemCapability(简写为SysCap)定义每个部件对应用开发者提供的系统软硬件能力。应用开发者基于统一的方式访问不同设备的能力。
多端分发机制
如果需要开发多设备上运行的应用,一般会针对不同类型的设备多次开发并独立上架。开发和维护的成本大,为了解决这个问题,鸿蒙系统提供了“一次开发,多端部署”的能力,开发者开发多设备应用,只需要一套代码,一次打包出多个HAP,统一上架,即可根据设备类型按需进行分发。
除了可以开发传统的应用,开发者还可以开发原子化服务。原子化服务是一种面向未来的服务提供方式,具有独立入口的、免安装的、可为用户提供一个或多个便捷服务的应用程序形态。鸿蒙系统为原子化服务提供了更多的分发入口,方便用户获取,同时也增加了原子化服务露出的机会。
1.多设备按需分发
鸿蒙系统提供了两种模式帮助开发者基于“一次开发,多端部署”能力分发应用和原子化服务到不同设备上。
● 模式1:应用或服务的UI自适应不同尺寸的设备屏幕,并且在不同设备的功能相同,可以实现多设备共享一个HAP包。这种场景下建议开发者通过一个模块来开发,并配置该模块支持多设备,然后再编译构建生成一个HAP,分发到不同类型的设备上运行。
● 模式2:应用或服务的UI、功能在不同设备间存在差异,无法实现HAP包多设备归一。可根据实际情况设置不同模块适用的设备类型,编译构建多个HAP包,一起上架。HUAWEI AppGallery Connect会自动提取HAP中的设备类型的配置信息,为对应的设备自动分发正确的HAP包组合。
2.多入口按需分发
鸿蒙系统为原子化服务提供了多设备、多入口的分发能力,基于场景和用户意图拉起原子化服务,实现“服务直达”。鸿蒙生态提供的丰富入口如下图所示:
2)可分可合,自由流转
原子化服务是鸿蒙系统提供的一种全新的应用形态,具有独立入口,用户可通过点击、碰一碰、扫一扫等方式直接触发,无需显式安装,由程序框架后台静默安装后即可使用,可为用户提供便捷服务。
传统移动生态下,开发者通常需要开发一个原生应用版本,如果提供小程序给用户,往往需要开发若干个独立的小程序。鸿蒙生态下,鸿蒙原生支持原子化服务开发,开发者无需维护多套版本,通过业务解耦将应用分解为若干原子化服务独立开发,按需根据场景组合成复杂应用。
原子化服务基于鸿蒙系统API开发,支持运行在1+8+N设备上,供用户在合适的场景、合适的设备上便捷使用。原子化服务是支撑可分可合,自由流转的轻量化程序实体,帮助开发者的服务更快触达用户。具备如下特点:
● 触手可及:原子化服务可以在服务中心发现并使用,同时也可以基于合适场景被主动推荐给用户使用,例如用户可在服务中心和小艺建议中发现系统推荐的服务。
● 服务直达:原子化服务无需安装卸载,“秒开体验”,即点即用,即用即走。
● 服务卡片:支持用户无需打开原子化服务便可获取服务内重要信息的展示和动态变化,如天气、关键事务备忘、热点新闻列表。
● 自由流转:原子化服务支持运行在多设备上并按需跨端迁移,或者多个设备协同起来给用户提供最优的体验。例如手机上未完成的邮件,迁移到平板继续编辑,手机用作文档翻页和批注,配合智慧屏完成分布式办公;例如分布式游戏场景,手机可作为手柄,与智慧屏配合玩游戏,获得新奇游戏体验。
可分可合
在开发态,开发者通过业务解耦,把不同的业务拆分为多个模块。在部署态,开发者可以将一个或多个模块自由组合,打包成一个App Pack统一上架。在分发运行态,每个HAP都可以单独分发满足用户单一使用场景,也可以多个HAP组合分发满足用户更加复杂的使用场景。
开发者可以在以下两种模式中选择,进行鸿蒙生态应用、原子化服务的打包和上架。
● 模式一:打包成多个App Pack,不同App Pack的包名是不一样的,每个App Pack都需要单独上架。在运行态,应用和服务的生命周期完全独立。
● 模式二:打包成一个App Pack,App Pack里面的HAP包名相同,统一上架。在运行态,应用生命周期完全共享。
自由流转
传统应用只能在单个设备内运行,当用户有多个设备,且要完成多个任务时,则需要在多个设备间来回切换。因此应用能够在设备之间流转,不间断给用户提供服务的能力就变得非常重要。
鸿蒙系统提供了自由流转的能力,使得开发者可以方便地开发出跨越多个设备的应用,用户也能够方便地使用这些功能。
自由流转可分为跨端迁移和多端协同两种情况。它们分别是时间上的串行交互和时间上的并行交互。自由流转不仅带给用户全新的交互体验,也为开发者搭建了一座从单设备时代通往多设备时代的桥梁。关于跨端迁移和多端协同详细说明,会在第六章中详细展开。
3)统一生态,原生智能
由于应用仅能运行在支持其运行环境的操作系统上,开发者要使其应用能运行在多操作系统上,则需要对不同的系统进行单独的开发或者适配。为了降低开发成本、提高代码复用率、减少多个平台重复开发工作量,业界推出了很多跨平台三方框架。
鸿蒙系统倡导应用生态统一、多方共建,支持开发者根据自身的业务场景,自由选择原生框架、三方跨平台框架来进行鸿蒙生态应用开发。
同时为了满足日益增长的应用智能化诉求,鸿蒙系统内置了多层次、丰富的Al开放能力,对开发者提供简洁易用的API,帮助开发者快速集成API,助力应用智能化。
统一生态
鸿蒙系统支持业界主流跨平台开发框架,通过多层次的开放能力提供统一接入标准,实现三方框架快速接入,支撑快速丰富鸿蒙生态应用、原子化服务。
原生智能
鸿蒙系统提供开箱即用的原生Al能力,降低智能应用的开发门槛,帮助开发者快速实现应用智能化。同时也提供软硬芯协同优化的系统级推理框架并预留扩展,满足开发者的高阶性能优化诉求。
Al能力开放具体包括:
服务能力开放层:为原子化服务提供多样化、场景化的智能入口,让开发者的服务能够更加精准地触达用户。
应用能力开放层:面向应用开发者提供的简单易用、功能强大的场景化Al能力。
● 自然语言交互:包含ASR、TTS、意图识别、语种检测、文本翻译,分词、词性标注、实体识别、关键字提取等。
● 智慧语音:可视可说,提供通过说出界面文字、图标、角标信息即可轻松操控界面的能力。
● 计算视觉:包含图片识别、文本识别、视频内容分析、人脸识别、人体检测等常用的能力。
● 情景感知:提供对设备使用场景的智能感知能力,例如地理围栏、快照等。
芯片能力开放层:向应用开发者开放芯片Al计算(含NPU/CPU/GPU多计算单元)能力,兼容TensorFlow、Caffe、 MindSpore、Paddle、ONNX等主流框架。同时提供统
一的推理框架MindSpore Lite开放接口,开发者无需单独预置推理框架,减少应用、服务包大小。MindSpore Lite是一个极速、极智、极简的Al引擎,为用户提供端到端的解决方案。其具有三大优势:
● 极致性能:高效的内核算法和汇编级优化,最大化发挥硬件算力,最小化推理时延和功耗。
轻量化:提供超轻量的解决方案,支持模型量化压缩,模型更小跑得更快,使能Al模型极限环境下的部署执行。
● 高效部署:支持MindSpore/TensorFlow Lite/Caffe/Onnx模型,提供模型压缩、数据处理等能力,统一训练和推理IR(Intermediate Representation),方便用户快速部署。
鸿蒙生态应用开发能力全景图
围绕开发者旅程,鸿蒙系统为开发者提供了端到端的开发能力支持。如下图所示,鸿蒙系统为开发者提供了赋能套件、鸿蒙开发套件、三方库、开发者支持平台。具体能力全景图如下图所示:
1)赋能套件
开发者了解和学习鸿蒙系统的各类资源,覆盖开发者全旅程,内容包含Codelabs、视频课程、技术文章、指南、UX设计资源与指南、API参考、Sample Code与FAQ。
Codelabs:以教学为目的的代码样例及详细的开发指导,帮助开发者一步步地完成指定场景的应用开发并掌握相关知识。Codelabs将最新的鸿蒙生态应用开发技术与典型场景结合,让开发者快速地掌握开发高质量应用的方法。同时支持互动式操作,通过文字、代码和效果联动为开发者带来更佳的学习体验。
视频课程:基于真实的开发场景,提供向导式学习,多维度融合课程等内容,给开发者提供全新的学习体验。
技术文章:针对新发布特性及热点特性提供详细的技术解析和开发优秀实践。
开发、测试及上架指南:提供系统能力概述、快速入门,用于指导开发者进行场景化的开发。指南涉及到的知识点包括必要的背景知识、符合开发者实际开发场景的操作任务流(开发流程、开发步骤、调测验证)以及常见问题等。
UX设计资源与指南:提供开发鸿蒙生态应用所需的UX设计规范、指导文档以及推荐的设计资源,满足各种场景的设计要求,可以帮助开发者设计出体验一致的鸿蒙生态应用。
API参考:面向开发者提供鸿蒙系统开放接口的全集,供开发者了解具体接口使用方法。API参考详细地描述了每个接口的功能、使用限制、参数名、参数类型、参数含义、取值范围、权限、注意事项、错误码及返回值等。
Sample Code:面向不同类型的开发者提供的鸿蒙生态应用开发优秀实践,每个Sample Code都是一个可运行的工程,为开发者提供实例化的代码参考。
FAQ:开发者常见问题的总结,开发者可以通过FAQ更高效地解决常见问题。FAQ会持续刷新,及时呈现最新的常见问题。
2)鸿蒙开发套件
鸿蒙开发套件包含设计、开发、测试、运维套件以及OS开放能力集。通过鸿蒙开发套件,开发者可以高效开发鸿蒙生态应用、原子化服务。
设计套件
HarmonyOS Design是面向万物互联的设计系统,为用户带来全新交互体验。其秉承万物归一,和谐共生,衍生万物的设计理念。设计套件涵盖全面的全场景设计规范、丰富的设计资源,以及设计工具,帮助开发者提升设计和开发效率。
开发套件
开发者在应用开发过程中使用到的产品集合,包含DevEco Studio以及DevEco Studio集成的性能调优、设备模拟、命令行工具和SDK。
DevEco Studio:鸿蒙生态应用、原子化服务开发配套的集成开发环境(IDE),提供了工程管理、代码编辑、界面预览、编译构建、代码调试等基础功能,同时还集成了性能调优工具、设备模拟工具、命令行工具等帮助开发者解决特定领域的问题。
SDK:集成在DevEco Studio中,包含开发者可以使用的API定义以及调试编译等基础的工具链。
测试套件
包括测试标准和测试工具两部分。
1.测试标准
覆盖鸿蒙生态应用性能、功耗、稳定性、兼容性、UX、安全、流转、游戏等测试规范,帮助开发者解决测什么的问题。
2.测试工具
提供鸿蒙生态应用开发、调试、单元测试、集成测试、上架测试等各开发阶段所需的测试工具集,支持手机、折叠屏、平板、智慧屏、手表、音箱等1+8+N设备,帮助开发者全面高效测试。
典型测试工具能力简介见下表:
运维套件
主要包括由HUAWEI AppGallery Connect提供的上架分发测试和运维分析两大能力。
1.上架分发测试能力
提供多种上架分发测试能力,满足开发者在不同阶段的上架分发测试诉求。具体如下表介绍:
2.运维分析
提供崩溃服务、性能管理及云服务监控,支撑开发者精准定位问题,同时支持多维度分析,智能诊断问题并给出解决方案。
完整版报告,点击下方小程序查看




