本文摘录自 OHOZ 团队的 OpenHarmony 源码导读项目,在线阅读(腾讯云、Github Pages)中包含最新的内容。
鸿蒙的蓝海与红海
本文将 Harmony(鸿蒙)分为 2 个概念:
- 蓝鸿蒙:下图中蓝色部分,主要用于智能终端,HW 没开源,仅与商业合作伙伴合作,基于 Android 的 AOSP(目前是 Android 11)。
- 红鸿蒙:下图中红色部分,主要用于 IoT,HW 贡献给 OpenHarmony(原子社区)的代码,于 2021.06.02 发布的 HarmonyOS2.0 即是此概念。
HW 有意混淆两个鸿蒙的概念,对公众不解释物联网、智能终端之间鸿蒙的差异,应该是有些特殊的因素,但这也为鸿蒙品牌带来了风险:HW 高管有些说鸿蒙没有拷贝 Android 一行代码,但未指明是红鸿蒙;又有些高管说鸿蒙基于 AOSP,平滑移植 Android APP,但未指明是蓝鸿蒙 —— 这些宣传会给大众造成一定的困扰。
鸿蒙开发者相对应也被分为 2 类:
- 蓝鸿蒙 APP 开发(北向开发):可平滑移植 AOSP 上 Android APP 开发,与 AOSP 接口保持了一致,这部分开发使用 DevEco Studio 工具,查看 HarmonyOS Develope 和 华为开发者联盟( 官网、HarmonyOS、weibo)网站文档。与安卓开发不同的是,这部分开发除了使用 JAVA 外,还大量使用 js、ts,有点类似微信小程序的开发。
- 红鸿蒙嵌入式开发(南向开发):使用 DevEco Device Tool 工具或直接 Docker 中编译,查看 HarmonyOS Device 和 HPM 两个网站,这部分开发模式与传统的嵌入式开发几乎没有区别:搭建环境、编译、烧录版本、JTAG 调试……
本文档仅拆解、分析开源的红鸿蒙的源码,不涉及蓝鸿蒙部分,拿不到源码,拿到想分析也有心无力,所以北向(APP)开发以后再说。