4月19日,以“开源正当时,共赢新未来”为主题的开放原子开源基金会OpenHarmony开发者大会2023(以下简称“大会”)在北京圆满落幕。大会正式对外发布了OpenAtom OpenHarmony(以下简称“OpenHarmony”)3.2 Release版本,该版本全面提升了复杂带屏设备体验,可以支持开发者开发复杂带屏设备、复杂大型应用、极致高性能应用和分布式创新体验。
在下午举办的技术分论坛上,来自OpenHarmony项目的多位技术专家,对OpenHarmony 3.2 Release版本的技术特性进行了深度分享,为与会嘉宾带来了一场干货满满的技术盛宴。
OpenHarmonyPMC成员、应用框架SIGLeader强波重点介绍了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的设计目标主要分为三点:第一点是希望开发者能够极其简单地使用相机的编程接口,不需要看到底层复杂的硬件和算法;第二点是相机的效果需要与所有应用的效果达到最优以及一致;第三点是需要考虑拍照的一些用户典型的使用场景,比如说抓拍、连拍,在性能方面达成流畅。当前OpenHarmony3.2Release版本相机已经可以实现基础的拍照、录制、预览以及一些核心功能的控制,包括镜头的3A控制、变焦、对焦等。在音频方面,OpenHarmony的设计目标有三点,第一,不管用户任何场景进行音频输入输出,要做到功能接口的简单便捷;第二,音频系统侧要做好针对全局的状态管理和音量管理等;第三,音频要与底层系统做紧密结合,解决低时延播放和低功耗播放相关性能要求。当前OpenHarmony3.2Release版本在音频上已经支持渲染输出和录制功能,并支持焦点管理、音量管理、流管理、设备管理、场景化设置等能力。
OpenHarmony多媒体SIG Leader杜明亮分享议题
吴启明重点讲解了OpenHarmony的视频播放框架和播控框架。在视频播放方面,OpenHarmony设计了统一、灵活的接口,并提供了两套播放引擎供开发者按需选用,同时播放引擎内部的状态机命名清晰,方便开发者理解。当前OpenHarmony 3.2 Release版本的播放框架,新增支持了hls、https等流媒体点播协议,打通了H.264的硬解码,并进行了性能优化。在播控框架(即媒体会话服务)上,OpenHarmony提供了极简的JS接口,方便应用的快速接入,同时对本地播控和跨设备播控进行归一,应用无需感知。本次发布的OpenHarmony3.2Release版本中,提供了媒体会话管理、元数据设置、播放状态同步,以及控制命令的注册监听等功能,开发者可以接入体验完整的播控特性。
OpenHarmony多媒体技术专家吴启明分享议题
OpenHarmony数据管理架构师李有福从能力概览、重点工作以及未来规划三个方面分享了OpenHarmony分布式数据管理的相关特性。在数据管理能力上,OpenHarmony 3.2Release版本做到了数据的存储与同步分离,并提供了一个有序的数据上线同步优化能力;同时针对数据安全进行了增强,保证数据管理的健壮性。此外还提供了远程查询、分布式对象缓存、数据共享、静默数据访问代理等能力。目前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语言编译和运行优化》为题做了相关分享。吴哲锋表示,相比OpenHarmony3.1Release版本, OpenHarmony3.2Release版本编译器提供支持TS语言的开发端的Host静态编译器,能够利用TS静态类型进行基础的优化编译,生成高效机器码。后续的版本会实现更多的优化编译算法,并提供设备端的基于PGO的静态编译器,把万物互联的OpenHarmony应用的性能提升到更高的水平。
OpenHarmony方舟编译器架构师吴哲锋分享议题
OpenHarmony PMC成员、驱动架构SIG Leader赵文华重点分享了OpenHarmony的驱动框架的新特性,并重点解析了OpenHarmony3.2Release版本HDF的新能力。赵文华介绍道,HDF具备弹性化框架、组件化设备模型、归一化平台底座、统一配置等特征,支持800多个HDI接口,其中HDI接口在3.2版本主要做了IDL的定义,并支持代码动态生成,使得开发者接入OpenHarmony更容易。同时,赵文华还详细介绍了从IDL定义接口、接口编译、声明服务到生成等HDI开发全流程。此外,在OpenHarmony3.2Release版本上,OpenHarmony还支持HCS的宏式解析、HCS的可视化编辑以及提升了驱动模板的生成来简化驱动开发;同时构建Audio/USB等设备模型,让硬件适配更加高效容易。
OpenHarmony PMC成员、驱动架构SIG Leader赵文华分享议题
OpenHarmony安全架构师高红亮从OpenHarmony基本安全原则和目标、OpenHarmony的整体架构以及OpenHarmony关键安全能力三个方面介绍了OpenHarmony安全和隐私保护的相关技术。高红亮表示,当前OpenHarmony在分布式场景下实现了分布式安全的核心竞争力,它的主要目标是实现正确的人通过正确的设备访问正确的数据。OpenHarmony社区目前有三个安全SIG,分别为安全基础能力SIG、TEEOSSIG以及安全芯片SIG。在三个安全SIG的持续努力下,OpenHarmony的安全基础能力在隔离和访问控制、密钥管理和密钥算法、设备互信认证、数据分级保护、可信执行环境、安全芯片管理框架等六个方面持续增强,能够为南向资源和北向应用提供全面的安全机密性。
OpenHarmony安全架构师高红亮分享议题
最后,分论坛还颁发了OpenHarmony社区活跃讲师、OpenHarmony战码先锋先锋队长、OpenHarmony战码先锋贡献个人、OpenHarmony开源开发者成长计划优秀校园开发者等奖项,对过去一年中为OpenHarmony社区做过突出贡献的个人和团队进行了致谢。
OpenHarmony社区活跃讲师致谢
OpenHarmony战码先锋先锋队长致谢
OpenHarmony战码先锋贡献个人致谢
OpenHarmony开源开发者成长计划优秀校园开发者致谢
至此,OpenHarmony开发者大会技术分论坛圆满落幕。通过嘉宾的分享,我们看到了OpenHarmony日益成熟的技术底座和不断演进的架构特性。期待更多开发者、技术专家、高校、科研院所加入到OpenHarmony生态中来,不断提升OpenHarmony技术赋能水平,共同打造使能千行百业的数字底座。