Harmony开发简介

1. HarmonyOS与OpenHarmony的区别

1.1 OpenHarmony

OpenHarmony是开放原子开源基金会孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个只能终端设备操作及系统的框架和平台

1.2 HarmonyOS

HarmonyOS是华为通过OpenHarmony项目,结合商业发行版增加能力,构建华为自研产品的完整解决方案。

  • HarmonyOS核心是基于OpenHarmaony的商业版(类似于Unbuntu与Linux)
  • HarmonyOS、OpenHarmaony两者类似于Android体系中AOSP与google安卓系统的关系。

image-20240305124116524

1.其中HMS相当于谷歌的GMS,包含华为全家桶的许多服务的编程接口API,未开源

2.华为商用的HarmonyOS基于OpenHarmony

3.HarmonyOS Connect鸿蒙智联(HiLink)为华为的合作厂商提供的华为统一的智能硬件生态品牌

总的来说,HarmonyOS里面大部分的系统api是与OpenHarmony通用的。在鸿蒙开发体系中:

  • 如果开发者需要未自己的设备开发,那么首先就要基于OpenHarmony开发对应的驱动,编译OH系统,开发APP
  • 如果开发者是为了基于华为手机开发移动应用,就是基于HarmonyOS,采用的就是OpenHarmony的系统api+华为自研的api。

2. 南向开发、北向开发

  • 北向开发是面向应用层开发,就是指开发鸿蒙APP。可以基于OH(OpenHarmony)或HO(HarmonyOS)开发,如果开发的应用需要使用华为生态的api,就需要基于HO开发。

    北向开发使用的开发工具是HUAWEI DevEco Studio,使用的开发语言是ArkTs、c/c++

  • 南向开发是面向底层的开发,类似于之前的嵌入式,主要做系统驱动、系统裁剪和定制、智能硬件等,基于的系统主要就是OpenHarmony

    南向开发采用的开发工具是HUAWEI DevEco Device Tool,使用的开发语言是C/C++, ArkTs,汇编等