干货满满的技术盛宴!OpenHarmony 开发者大会技术分论坛成功举办
4 月 19 日,以“开源正当时,共赢新未来”为主题的开放原子开源基金会 OpenHarmony 开发者大会 2023(以下简称“大会”)在北京圆满落幕。大会正式对外发布了 OpenAtom OpenHarmony(以下简称“OpenHarmony”)3.2 Release 版本,该版本全面提升了复杂带屏设备体验,可以支持开发者开发复杂带屏设备、复杂大型应用、极致高性能应用和分布式创新体验。
在下午举办的技术分论坛上,来自 OpenHarmony 项目的多位技术专家,对 OpenHarmony 3.2 Release 版本的技术特性进行了深度分享,为与会嘉宾带来了一场干货满满的技术盛宴。
OpenHarmony PMC 成员、应用框架 SIG Leader 强波重点介绍了 OpenHarmony 的新开发框架,深度解析了其中的包管理、Stage 模型以及 ArkUI 的新特性。其中包管理包括 HAR、HAP、HSP 包,能够通过动态和静态包的方式让应用程序变得非常小巧,极大地降低存储的容量和 ROM 的占用;Stage 模型的应用组件分为两大类,分别是 UIAbillity 和 ExtensionAbillity,能够支持单实例和多实例,使开发者能够通过一套代码同时去实现和支持多种设备场景的适配,降低开发者多设备开发的复杂程度。此外,ArkUI 方面,XComponent 提供了 C 和 C++和 ArkTS 的混合开发,为自渲染提供了支撑;Canvas 能够提供自绘制的能力,让开发者能够进行二次定制和开发;RelativeContainer 拥有相对布局的能力,可以有效降低开发者 UI 的嵌套;最小化更新能够让 UI 进行局部、最小化、关联性的刷新,让应用性能提高 20%;栅格化布局的能力能够对竖屏、方屏、横屏进行划分,实现开发者一次开发可以支持小、中、大框等各种各样的屏幕。
OpenHarmony PMC 成员、应用框架 SIG Leader 强波分享议题
OpenHarmony 图形架构师周耀颖以及 OpenHarmony 图形测试专家赵晓光以《OpenHarmony 动效框架探索与实践》为题进行了分享。周耀颖重点介绍了 OpenHarmony 动效引擎框架的四大特征:第一是当 OpenHarmony 一个独立图形的渲染后端执行动画时,动画的执行过程会和应用的主线程进行分离;第二是 OpenHarmony 动画的描述是面向终点状态的,它可以避免逐帧测量布局的复杂;第三是在动画的过程中,动画系统会替应用开发者生成属性变化的动效;第四是在整个动画系统中,OpenHarmony 遵循用户交互优先、快速响应的过程。此外,周耀颖还用多个案例分享了如何从一个开发者的视角开发一个流畅的动画,帮助开发者快速上手动画的开发。
OpenHarmony 图形架构师周耀颖分享议题
赵晓光则重点讲解了 OpenHarmony 动画的评估。他认为动画的评估主要分三个重点,第一是特性的挖掘,从用户体验出发,挖掘优秀的动画体验需要哪些重点特性的支持,以此牵引动效特性的开发;第二是特性生效范围的评估,通过看护项的保障,引导特性做普适化的演进;第三是特性的评估标准,当特性落到具体场景之后,要通过标准和基线来看护整个场景的体验。此外,赵晓光还具体介绍了包括性能指标、体验指标在内的 OpenHarmony 图形动效评估的看护体系,以及包括 Trace 打点、图像识别、指令流分析在内的图形动效测试能力。
OpenHarmony 图形测试专家赵晓光分享议题
OpenHarmony 多媒体 SIG Leader 杜明亮以及 OpenHarmony 多媒体技术专家吴启明为与会嘉宾分享了 OpenHarmony 多媒体的基础功能和典型特性。其中杜明亮主要介绍了 OpenHarmony 在相机和音频方面的设计思路和功能特性。在相机方面, OpenHarmony 的设计目标主要分为三点:第一点是希望开发者能够极其简单地使用相机的编程接口,不需要看到底层复杂的硬件和算法;第二点是相机的效果需要与所有应用的效果达到最优以及一致;第三点是需要考虑拍照的一些用户典型的使用场景,比如说抓拍、连拍,在性能方面达成流畅。当前 OpenHarmony 3.2 Release 版本相机已经可以实现基础的拍照、录制、预览以及一些核心功能的控制,包括镜头的 3A 控制、变焦、对焦等。在音频方面,OpenHarmony 的设计目标有三点,第一,不管用户任何场景进行音频输入输出,要做到功能接口的简单便捷;第二,音频系统侧要做好针对全局的状态管理和音量管理等;第三,音频要与底层系统做紧密结合,解决低时延播放和低功耗播放相关性能要求。当前 OpenHarmony 3.2 Release 版本在音频上已经支持渲染输出和录制功能,并支持焦点管理、音量管理、流管理、设备管理、场景化设置等能力。
OpenHarmony 多媒体 SIG Leader 杜明亮分享议题
吴启明重点讲解了 OpenHarmony 的视频播放框架和播控框架。在视频播放方面,OpenHarmony 设计了统一、灵活的接口,并提供了两套播放引擎供开发者按需选用,同时播放引擎内部的状态机命名清晰,方便开发者理解。当前 OpenHarmony 3.2 Release 版本的播放框架,新增支持了 hls、https 等流媒体点播协议,打通了 H.264 的硬解码,并进行了性能优化。在播控框架(即媒体会话服务)上,OpenHarmony 提供了极简的 JS 接口,方便应用的快速接入,同时对本地播控和跨设备播控进行归一,应用无需感知。本次发布的 OpenHarmony 3.2 Release 版本中,提供了媒体会话管理、元数据设置、播放状态同步,以及控制命令的注册监听等功能,开发者可以接入体验完整的播控特性。
OpenHarmony 多媒体技术专家吴启明分享议题
OpenHarmony 数据管理架构师李有福从能力概览、重点工作以及未来规划三个方面分享了 OpenHarmony 分布式数据管理的相关特性。在数据管理能力上,OpenHarmony 3.2 Release 版本做到了数据的存储与同步分离,并提供了一个有序的数据上线同步优化能力;同时针对数据安全进行了增强,保证数据管理的健壮性。此外还提供了远程查询、分布式对象缓存、数据共享、静默数据访问代理等能力。目前 OpenHarmony 正围绕分布式对象、数据同步优化、静默数据代理等方向进行重点突破。未来,OpenHarmony 的分布式数据管理工作将会重点构建端云一体的能力,希望把端云同步逻辑从以前的 APP 下沉到 OS,实现端云数据管理一体化。
OpenHarmony 数据管理架构师李有福分享议题
OpenHarmony 文件存储专家付鹏程重点介绍了 OpenHarmony 应用沙箱的结构、沙箱隔离及访问机制。付鹏程提到,OpenHarmony 系统在/data 分区下映射了一个专属的区域作为应用的文件沙箱区,区域内不同应用沙箱都是隔离的,用来存放应用自己的专属文件。同时每一个应用启动时,OpenHarmony 系统会基于应用的沙箱为每个应用构建独立的根空间区,对应用沙箱做进一步的管控,防止出现沙箱逃离的情况。在结构上,OpenHarmony 应用沙箱从功能维度可以分为应用程序区、基本文件区、数据库区以及分布式文件区四个区域;从安全等级维度,可以分为 EL1 和 EL2 两个不同的加密区。此外,付鹏程还分别详细讲解了 OpenHarmony 系统上应用如何访问应用沙箱内文件、被隔离控制的应用如何访问用户公共文件以及 OpenHarmony 系统上不同的应用间如何把自己的沙箱文件分享给其他应用等应用文件的隔离和访问机制。
OpenHarmony 文件存储专家付鹏程分享议题
OpenHarmony 性能测试专家高曦以及 OpenHarmony 测试工具领域专家、测试 SIG 成员王俊涛为嘉宾带来了题为《OpenHarmony 性能关键架构与体系构筑》的分享。高曦主要介绍了 OpenHarmony 的性能关键架构,在 OpenHarmony 3.2 Release 版本中,OpenHarmony 在图形的高帧率、低负载,动效的流畅设计,以及 ArkUI 最小化更新等方面都做了性能演进。首先在图形上,新版本做了四个方面的优化,分别是遮挡剔除、一次性布局动效、UI 动效分离以及局部刷新;在动效层面,OpenHarmony 3.2 Release 版本响应时延更快,还支持并行化,可以做到应用启动退出可打断;ArkUI 最小化更新也做了三点演进,分别是前端的 Diff 优化、三树合一以及节点的优化,能够有效优化内存占用和组件性能。此外,高曦还通过多个案例重点讲解了如何开发一个高性能的应用,帮助开发者更深入的了解 OpenHarmony 应用性能标准和开发方法。
OpenHarmony 性能测试专家高曦分享议题
王俊涛则主要介绍了 OpenHarmony 的性能测试工具,包括设备端运行的 SmartPerf Device,以及性能调优工具 SmartPerf Host。其中,SmartPerf Device 能够采集性能数据,还可以分析 CPU 的频率、温度以及高负载情况下的性能问题,来获取到整个应用在运行过程中的功耗。同时它也具备一个界面实时显示当前整个应用在运行过程中采集到的数据。此外该工具也提供了一套对无屏设备的支持,可以通过命令行的形式进入到设备里面,通过命令去拉起整个测试服务。SmartPerf Host 则能够很大程度上简化整个性能分析的门槛,它具备页面力 Trace 抓取能力、内存的抓取和分析能力、文件系统的跟踪能力以及数据的展示能力,能够帮助开发者快速锁定一些应用性能问题范围,解决应用性能优化问题。
OpenHarmony 测试工具领域专家、测试 SIG 成员王俊涛分享议题
OpenHarmony 方舟编译器架构师吴哲锋以《OpenHarmony TypeScript 语言编译和运行优化》为题做了相关分享。吴哲锋表示,相比 OpenHarmony 3.1 Release 版本, OpenHarmony 3.2 Release 版本编译器提供支持 TS 语言的开发端的 Host 静态编译器,能够利用 TS 静态类型进行基础的优化编译,生成高效机器码。后续的版本会实现更多的优化编译算法,并提供设备端的基于 PGO 的静态编译器,把万物互联的 OpenHarmony 应用的性能提升到更高的水平。
OpenHarmony 方舟编译器架构师吴哲锋分享议题
OpenHarmony PMC 成员、驱动架构 SIG Leader 赵文华重点分享了 OpenHarmony 的驱动框架的新特性,并重点解析了 OpenHarmony 3.2 Release 版本 HDF 的新能力。赵文华介绍道,HDF 具备弹性化框架、组件化设备模型、归一化平台底座、统一配置等特征,支持 800 多个 HDI 接口,其中 HDI 接口在 3.2 版本主要做了 IDL 的定义,并支持代码动态生成,使得开发者接入 OpenHarmony 更容易。同时,赵文华还详细介绍了从 IDL 定义接口、接口编译、声明服务到生成等 HDI 开发全流程。此外,在 OpenHarmony 3.2 Release 版本上,OpenHarmony 还支持 HCS 的宏式解析、HCS 的可视化编辑以及提升了驱动模板的生成来简化驱动开发;同时构建 Audio/USB 等设备模型,让硬件适配更加高效容易。
OpenHarmony PMC 成员、驱动架构 SIG Leader 赵文华分享议题
OpenHarmony 安全架构师高红亮从 OpenHarmony 基本安全原则和目标、OpenHarmony 的整体架构以及 OpenHarmony 关键安全能力三个方面介绍了 OpenHarmony 安全和隐私保护的相关技术。高红亮表示,当前 OpenHarmony 在分布式场景下实现了分布式安全的核心竞争力,它的主要目标是实现正确的人通过正确的设备访问正确的数据。OpenHarmony 社区目前有三个安全 SIG,分别为安全基础能力 SIG、TEE OS SIG 以及安全芯片 SIG。在三个安全 SIG 的持续努力下,OpenHarmony 的安全基础能力在隔离和访问控制、密钥管理和密钥算法、设备互信认证、数据分级保护、可信执行环境、安全芯片管理框架等六个方面持续增强,能够为南向资源和北向应用提供全面的安全机密性。
OpenHarmony 安全架构师高红亮分享议题
最后,分论坛还颁发了 OpenHarmony 社区活跃讲师、OpenHarmony 战码先锋先锋队长、OpenHarmony 战码先锋贡献个人、OpenHarmony 开源开发者成长计划优秀校园开发者等奖项,对过去一年中为 OpenHarmony 社区做过突出贡献的个人和团队进行了致谢。
OpenHarmony 社区活跃讲师致谢
OpenHarmony 战码先锋先锋队长致谢
OpenHarmony 战码先锋贡献个人致谢
OpenHarmony 开源开发者成长计划优秀校园开发者致谢
至此,OpenHarmony 开发者大会技术分论坛圆满落幕。通过嘉宾的分享,我们看到了 OpenHarmony 日益成熟的技术底座和不断演进的架构特性。期待更多开发者、技术专家、高校、科研院所加入到 OpenHarmony 生态中来,不断提升 OpenHarmony 技术赋能水平,共同打造使能千行百业的数字底座。
评论