OpenHarmony 与 HarmonyOS 有什么区别?

发布:

openharmonyharmonyos对比

简短回答: OpenHarmony 是由开放原子开源基金会管理的开源基础项目;HarmonyOS(鸿蒙)是华为在 OpenHarmony 之上加入专有组件后构建的商用操作系统。二者的关系常被类比为 AOSP 与 Android。

OpenHarmony 与 HarmonyOS 有什么区别?

OpenHarmonyHarmonyOS
所有者 / 治理开放原子开源基金会(开源项目)华为(商业产品)
源代码公开,任何人都可以获取未完全公开
许可证主要为 Apache 2.0,其他组件保留各自许可证专有
内核多内核:LiteOS、Linux、UniProtonHarmonyOS 5 起使用华为的鸿蒙内核(HongMeng)
设备从微控制器到手机,来自众多厂商主要是华为设备
应用商店与云服务不内置华为 AppGallery 和 HMS
安卓应用不支持HarmonyOS 2–4.x 支持,HarmonyOS 5 起不支持

HarmonyOS 5(NEXT)带来了什么变化?

早期 HarmonyOS(2 至 4.x)在手机上结合了 AOSP 和 OpenHarmony,因此可以运行安卓应用。2024 年底以 HarmonyOS 5 发布的 HarmonyOS NEXT 移除了 AOSP 层和安卓兼容,只运行原生应用,使用鸿蒙微内核,并基于 OpenHarmony 5.0(API 12)。

HarmonyOS 6 延续了这一思路,基于 OpenHarmony 6.0。

应该为哪一个开发?

  • HarmonyOS 应用: 如果想通过 AppGallery 触达华为手机和平板用户,就面向 HarmonyOS 开发。
  • OpenHarmony 设备: 如果做的是开发板、工业或嵌入式设备,或者要构建自己的发行版,就面向 OpenHarmony。

两者共享 ArkTS、ArkUI 和 DevEco Studio。在 DevEco Studio 项目中,目标系统在构建配置中选择,其中 runtimeOS 可以设为 OpenHarmony。不要假设为 HarmonyOS 构建的应用能在 OpenHarmony 设备上运行,因为 API 和服务并不相同。

两者有哪些共同点?

  • 都使用 ArkTS 语言和声明式 ArkUI 框架。
  • 应用模型概念相同(Stage 模型、HAP 包)。
  • 都使用 DevEco Studio 工具链和 hdc 调试工具。

后续步骤

常见问题

HarmonyOS 是开源的吗?

不完全是。OpenHarmony 基础部分是开源的,但 HarmonyOS 是华为的商业产品,其中很大一部分是专有的,没有公开源码。

HarmonyOS 5 能运行安卓应用吗?

不能。HarmonyOS 5(最初称为 HarmonyOS NEXT)移除了 Android 开源项目(AOSP)层,只支持原生鸿蒙应用。HarmonyOS 2 至 4.x 可以运行安卓应用。

HarmonyOS 5 基于哪个 OpenHarmony 版本?

HarmonyOS 5 基于 OpenHarmony 5.0(API 12)。HarmonyOS 6 基于 OpenHarmony 6.0。

两者可以用同一套工具开发吗?

可以。两者都使用 ArkTS、ArkUI 和 DevEco Studio,但为 HarmonyOS 开发的应用不一定能在 OpenHarmony 设备上运行,而且 AppGallery 等华为服务只属于 HarmonyOS。