写点什么

鸿蒙 NEXT 生态应用核心技术理念:一次开发,多端部署

作者:芯盾时代
  • 2024-09-11
    北京
  • 本文字数:2512 字

    阅读完需:约 8 分钟

在万物互联时代,应用开发者也面临设备底座从手机单设备到全场景多设备的转变,通过全场景多设备作为全新的底座,为消费者带来万物互联时代更为高效、便捷的体验。

在万物智联时代重要机遇期,鸿蒙结合移动生态发展的趋势,提出了三大技术理念:一次开发,多端部署;可分可合,自由流转;统一生态,原生智能。

这些技术理念共同构成了鸿蒙 NEXT 的独特优势,为用户和开发者提供了更好的体验和服务。

核心技术理念

理念一:一次开发,多端部署

“一次开发,多端部署”指的是一个工程,一次开发上架,多端按需部署。目的是为了支撑开发者高效地开发多种终端设备上的应用。为了实现这一目的,鸿蒙提供了几个核心能力,包括多端开发环境,多端开发能力以及多端分发机制。

多端开发环境 

HUAWEI DevEco Studio 是面向全场景多设备提供的一站式开发平台,支持多端双向预览、分布式调优、分布式调试、超级终端模拟、低代码可视化开发等能力,帮助开发者降低成本、提升效率、提高质量。HUAWEI DevEco Studio 提供的核心能力如下图所示:

HUAWEI DevEco Studio 核心功能和特征


  1. 多端双向预览:HUAWEI DevEco Studio 提供了多种设备的双向预览能力,支持同时查看 UI 代码在多个设备上的预览效果,并支持 UI 代码和预览效果的双向定位修改。

  2. 分布式调试:鸿蒙生态应用具有天然的分布式特征,体现在同一个应用在多个设备之间会有大量的交互。HUAWEI DevEco Studio 提供了分布式调试功能,支持跨设备调试,通过代码断点调试堆栈可以方便地跟踪不同设备之间的交互,用于定位多设备互动场景下的代码缺陷。

  3. 分布式调优:在跨端迁移场景中,需要应用在目标设备上快速启动,以实现和原设备之间的无缝衔接;在多端协同场景中,需要应用在算力和资源不同的多个设备上都能高效运行,以获得整体的流畅体验。HUAWEI DevEco Studio 提供了分布式调优功能,支持多设备分布式调用链跟踪、跨设备调用堆栈缝合,同时采集多设备性能数据并进行联合分析。

  4. 超级终端模拟:HUAWEI DevEco Studio 提供了不同类型的终端模拟,支持开发者在多个模拟终端上进行开发调试,降低门槛、节约成本。同时,多个模拟终端、真机设备也可以自由地组成超级终端,进一步降低开发者获取分布式调测环境的难度。

  5. 低代码可视化开发:低代码开发提供 UI 可视化开发能力,支持自由拖拽组件和可视化数据绑定,可快速预览效果,所见即所得。通过拖拽式编排、可视化配置的方式,帮助开发者减少重复性的代码编写,快速地构建多端应用程序。低代码开发的产物如组件、模板等可以被其他模块的代码引用,并且能通过跨工程复用,支持开发团队协同完成复杂应用的开发。

多端开发能力 

应用如需在多个设备上运行,需要适配不同的屏幕尺寸和分辨率、不同的交互方式(如触摸和键盘等)、不同的硬件能力(如内存差异和器件差异等),开发成本较高。因此,多端开发能力的核心目标是降低多设备应用的开发成本。为了实现该目标,鸿蒙系统提供了以下几个核心能力,支持多端 UI 适配,交互事件归一,设备能力抽象,帮助开发者降低开发与维护成本,提高代码复用度。

多端 UI 适配:不同设备屏幕尺寸、分辨率等存在差异,鸿蒙系统将对屏幕进行逻辑抽象,包括尺寸和物理像素,并提供丰富的自适应/响应式的布局和视觉能力,方便开发者进行不同屏幕的界面适配。

尺寸抽象化

布局:鸿蒙系统提供的布局主要分为自适应布局和响应式布局。

自适应布局是当外部容器大小发生变化时,容器内元素可以根据相对关系自动变化以适应外部容器变化的布局能力。响应式布局是当显示空间大小发生变化时,布局可以根据预设断点、栅格或特定的特征(如屏幕方向、窗口宽高等)进行自动切换。

视觉:鸿蒙系统提供的视觉样式能力,包括分层参数、多态组件和主题。

交互事件归一

事件归一抽象:不同设备间的交互方式等存在差异,如触摸、键盘、鼠标、语音、手写笔等,鸿蒙系统将不同设备的输入映射成归一交互事件,从而简化开发者适配逻辑。为了让应用更容易的支持不同的交互方式,鸿蒙系统提供归一的缩放交互事件。

缩放交互的规则

组件归一响应:当应用部署在不同设备上供用户使用时,需要支持多种 I/O 设备,界面呈现出相应的状态为用户提供正确的视觉引导。鸿蒙系统默认提供多种交互方式的组件实现,方便开发者支持多种输入方式。

设备能力抽象

不同设备间的软、硬件能力等存在差异,如设备是否具备定位能力、是否具备摄像头、是否具备蓝牙功能等,鸿蒙系统需要对设备能力进行逻辑抽象,并提供接口来查询设备是否支持某一能力,方便开发者进行不同软、硬件能力的功能适配。在鸿蒙系统中,使用 SystemCapability(简写为 SysCap)定义每个部件对应用开发者提供的系统软硬件能力。应用开发者基于统一的方式访问不同设备的能力。

多端分发机制 

如果需要开发多设备上运行的应用,一般会针对不同类型的设备多次开发并独立上架。鸿蒙系统提供了“一次开发,多端部署”的能力,开发者开发多设备应用,只需要一套工程,一次打包出多个 HAP,统一上架,即可根据设备类型按需进行分发。 除了可以开发传统的应用,开发者还可以开发元服务。元服务是一种面向未来的服务提供方式,具有独立入口的、免安装的、可为用户提供一个或多个便捷服务的应用程序形态。鸿蒙系统为元服务提供了更多的分发入口,方便用户获取,同时也增加了元服务露出的机会。

多设备按需分发:鸿蒙系统提供了两种模式帮助开发者基于“一次开发,多端部署”能力分发应用和元服务到不同设备上。

多设备按需分发的两种模式
  • 模式 1:应用或服务的 UI 自适应不同尺寸的设备屏幕,并且在不同设备的功能相同,可以实现多设备共享一个 HAP 包。这种场景下建议开发者通过一个模块来开发,并配置该模块支持多设备,然后再编译构建生成一个 HAP,分发到不同类型的设备上运行。

  • 模式 2:应用或服务的 UI、功能在不同设备间存在差异,无法实现 HAP 包多设备归一。可根据实际情况设置不同模块适用的设备类型,编译构建多个 HAP 包,一起上架。HUAWEI AppGallery Connect 会自动提取 HAP 中的设备类型的配置信息,为对应的设备自动分发正确的 HAP 包组合。

多入口按需分发:鸿蒙系统为元服务提供了更多的分发入口,基于场景和用户意图拉起元服务,实现“服务直达”。鸿蒙生态提供的丰富入口如下图所示:

多入口按需分发


发布于: 刚刚阅读数: 3
用户头像

芯盾时代

关注

以人为核心的业务安全 2024-03-20 加入

还未添加个人简介

评论

发布
暂无评论
鸿蒙NEXT生态应用核心技术理念:一次开发,多端部署_鸿蒙_芯盾时代_InfoQ写作社区