开源鸿蒙技术指导委员会主席陈海波解读新版本特性

开源鸿蒙技术指导委员会主席陈海波解读新版本特性

从 2020 年 9 月开源至今,OpenHarmony 开源项目坚持半年发布一个版本的节奏,如今已迭代到了 3.1 版本。经过社区全体贡献者的共同努力,3 月 31 日,OpenHarmony 开源社区正式发布了 OpenHarmony 3.1 Release 版本。此版本从基础能力、分布式能力、应用程序框架能力以及应用能力都得到了大幅增强。从一开始的轻量系统、小型系统,如今已支持标准系统了。这种能力增强也意味着 OpenHarmony 3.1 版本可以支持丰富的 UI 交互能力、3D GPU 以及硬件合成能力、更多控件以及动效更丰富的图形能力、更为完整的应用框架和更加丰富的富设备形态。

为了更深入地了解 OpenHarmony 3.1 版本给生态产业带来的帮助与影响,深圳市开源技术服务中心策划了 OpenHarmony 3.1 深度解读系列专访,让专家们来解读 OpenHarmony 3.1 版本带给我们的惊喜。

今天,深圳市开源技术服务中心理事长钟以山先生采访了 OpenHarmony 项目群技术指导委员会(TSC)主席陈海波先生,请他来谈谈 OpenHarmony 3.1 的特性以及未来的技术规划。

钟以山:海波老师,您好,很高兴您能接受我们的专访。OpenHarmony 的新版本已经发布了,您认为新版本和过去发布的大版本相比有什么重要特性,您能给大家介绍一下吗?

陈海波:这个刚刚发布的版本正式名称叫 OpenHarmony 3.1 release 版本,因为发布日期是 3 月 30 日,所以很多人会叫它 330 版本。这个版本相比于之前的版本是有非常大的特性和功能方面的增强,可以说是对全栈的能力构建和增强,主要体现在以下四个方面:

  • 首先是构建了一个完整的用户程序框架。大家都知道 OpenHarmony 的 FA 和 PA 能力(编者注:FA 是特性能力的英文首字母缩写;PA 是原子化能力的英文首字母缩写)是它很重要的特征,所以用户程序框架也包含了增强的 FA 和 PA 的语言能力框架。还有 ArkUI(编者注:ArkUI 是一套构建分布式应用界面的声明式 UI 开发框架)的声明式框架,可以让开发者能以更高的生产效率去构建 UI 相关应用。此次更新的用户程序框架还包括:事件通知、多模输入、图形窗口、媒体等方面的应用框架,同时也提供了更丰富的 API 接口。
  • 第二是构建了更完整的系统基础服务和运行时(编者注:运行时是指一个程序在运行(或者在被执行)的依赖。),包括分布式的服务能力。因为 OpenHarmony 的分布式是它的一个重要特征,所以增强了分布式的服务能力,其中包括分布式数据管理、分布式软总线、分布式硬件等,还有图形的框架、2D UI 的渲染、窗口合成等,有非常多的创新在里面。还有方舟的编译运行时,以及一系列的技术软件服务,包括 web 服务、账号管理、全球化、电话服务、启动、恢复、安全、升级等。另外,还有硬件相关的服务,包括电源管理、短距通信、USB 服务、位置服务,以及泛 Sensor 服务等等。
  • 第三是内核提供了很多增强功能,包括文件系统、内存管理、安全等。有统一的驱动框架HDF(编者注:HDF 是 Harmony Driver Foundation 的缩写),能方便接入更多的南向设备(编者注:南向设备是指支持操作系统所运行的分布式硬件设备)。
  • 第四是增强了应用开发工具链的能力与相应的配套支撑,更方便开发者的开发。

钟以山:请您向大家介绍一下 OpenHarmony 3.1 版本对广大开发者的意义,开发者在哪些领域可以更好地发挥出这些新增的特性和功能?

陈海波:我刚才提到了这个版本在系统基础服务方面,有了全面的增强。刚才我提到了很多特性,包括多任务、多窗口能力,图形、媒体,多样的分布式连接的能力,验证接入能力等等,这些新能力一方面对应用开发者而言,可以去打造具有更丰富交互能力的复杂应用;对设备开发者而言,可以接入更多的硬件设备和芯片平台。

同时因为 OpenHarmony 分布式能力的增强,使能开发者在分布式连接的场景下,可以进行更多的应用和硬件产品的创新设计。像 ArkUI 这种元能力框架的提供,一定会带来开发效率的很大提升。对于开发者而言,开发一些复杂的应用会更加方便。另外,在 OpenHarmony 社区的共同努力下,通过兼容性测试的开发板的数量也会一直在增多。

最后,在工具链方面,包括 IDE 集成开发环境,支持基于声明式的 UI 基建开发,包括新增的低代码模板、服务卡片的零代码开发、应用的一键式自动签名等等,这些对开发者而言,大家可以更加便捷地在 OpenHarmony 上构建应用和硬件的生态。

钟以山:在过去两年,OpenHarmony 已经形成了一个比较有序的版本发布节奏,请您介绍一下 OpenHarmony 在 2022 年的发布计划。

陈海波:在过去的两年里,OpenHarmony 在快速演进,不断地推陈出新,新的版本在不断地发布。当前,OpenHarmony 处于快速成长期,这得益于社区里面很多的开发者,得到很多社区合作伙伴的支持。

在大家的共同支持下,OpenHarmony 的版本发布会比其它相对成熟的,或者说时间更长的开源项目更加活跃一些。2022 年 OpenHarmony 预计会发布两个 release 版本,其中,包括当前发布的 3.1 Release 版本;另外,我们也期望 OpenHarmony 的一些新特性、新功能可以更快地被开发者感知到,所以还会有两个 beta 版本发布,具体的发布日期,我们在确定后告诉大家。

结合过去两年在社区共建的经验来看,目前已经形成的版本节奏是一年会有两个 release 版本发布。以后随着 OpenHarmony 项目和社区的不断成熟,版本发布节奏也会有相应的调整,以更好地支持应用开发者和设备开发者。

钟以山:值此 OpenHarmony 3.1 release 版本发布之际,请您向 OpenHarmony 开发者社区分享您的感想。

陈海波:OpenHarmony 的这次版本发布,包括过去发布的每个版本,都是 OpenHarmony 成长过程中非常重要的时刻。

OpenHarmony 开源社区能走到今天,离不开广大开发者们,包括我们共建单位的大力支持,非常感谢大家。当前 OpenHarmony 社区的贡献者已经非常多,作出贡献的共建单位,也达到了一个非常大的数目。

在 Gitee 上,我们可以看到 OpenHarmony 的 fork (编者注:fork 指针对项目代码的拷贝)已经达到了 23,000 多次,项目已经进入了一个非常良好的循环,我期待各位开发者和各个共建单位,能够一起把 OpenHarmony 推向更高的高度,能够把它应用到更多的场景里去。

在去年年底,OpenHarmony 社区成立了技术指导委员会(TSC),目的也是围绕操作系统建立一个更广泛的软件生态,包括编译器、编程语言、跨平台 UI 框架等。今年大家也会看到 OpenHarmony 项目群会出现更多的一些技术软件项目,期望广大开发者能够继续关注和支持 OpenHarmony 项目群,一起来构建分布式全场景协同的开源操作系统底座,和我们共建生态系统。

【你知道吗?】

FA 和 PA

元能力子系统,是 OpenHarmony 为开发者提供的一套开发 OpenHarmony 应用的开发框架。元能力子系统由如下模块组成:

(元能力子系统框架图)

Ability 是应用所具备的能力的抽象,一个应用可以包含一个或多个 Ability。Ability 分为两种类型:FA(Feature Ability)和 PA(Particle  Ability)。

FA:由三方基于元能力框架开发的、实现单一功能的有 UI 界面的程序实体,用于支持与用户交互的能力。

PA:由三方基于元能力框架开发的、实现单一功能的无 UI 界面的支持后台任务的程序实体。

PA 与 FA 的区别是,PA 无 UI 界面,仅对系统服务有依赖关系,PA 之间不存在依赖关系 。Service 模板是 PA 支持的模板。

ArkUI
ArkUI 是一套构建分布式应用界面的声明式 UI 开发框架。它使用极简的 UI 信息语法、丰富的 UI 组件、以及实时界面预览工具,帮助您提升 OpenHarmony 应用界面开发效率 30%。您只需使用一套 TS/JS API,就能在多个 OpenHarmony 设备上提供生动而流畅的用户界面体验。

运行时

运行时是指一个程序在运行(或者在被执行)的依赖。也就是说,当你打开一个程序使它在电脑上运行的时候,那个程序就是处于运行时刻。在一些编程语言中,把某些可以重用的程序或者实例打包或者重建成为“运行库”。这些实例可以在它们运行的时候被连接或者被任何程序调用,同时依赖于运行时系统。

HDF

HDF(Harmony Driver Foundation)驱动框架,为驱动开发者提供驱动框架能力,包括驱动加载、驱动服务管理和驱动消息机制。旨在构建统一的驱动架构平台,为驱动开发者提供更精准、更高效的开发环境,力求做到一次开发,多系统部署。

深圳市开源技术服务中心是立足深圳,面向全球的“民非组织”。为开源项目提供包括生态发展、运营、营销、法务、培训教育等基础服务是我们的服务重点。服务中心将一如既往地全力为 OpenHarmony 等开源项目提供专业的开源服务支撑,推进吸纳开发者、用户和更多生态企业参与到开源项目中来,共同促进社区繁荣。

想更多了解深圳市开源技术服务中心,请阅读文章:2021年度工作报告火热出炉啦~