您的当前位置:首页正文

【OpenHarmony】OpenHarmony 简介 ( HarmonyOS / OpenHarmony - Android / AOSP 对比关联 | 鸿蒙开发者定位及使用的开发语言和开发工具)

2024-10-31 来源:个人技术集锦





一、OpenHarmony 简介




1、OpenHarmony 由来


OpenHarmony 官方网址 http://www.openharmony.cn/mainPlay ;

OpenHarmony 是 开源的分布式操作系统 ,

由 华为公司 捐赠 智能终端操作系统 基础能力 相关代码 ,

由 开放原子开源基金会 ( OpenAtom Foundation ) 运营的开源项目 ,

其 目标 是 面向全场景 / 全连接 / 全智能时代 / 基于开源的方式 , 搭建一个 智能终端设备 操作系统 的框架和平台 ,

旨在实现全场景智能互联 , 可以应用于智能手机 / 平板电脑 / 智能手表 / 智能电视 / 智能家居等各种设备 ;

( 更详细的介绍参考 OpenHarmony 开发者文档 https://www.openharmony.cn/docs/zh-cn/overview )


2、OpenHarmony 架构


OpenHarmony 架构分为

  • 内核层 : Linux 内核 或 LiteOS 内核 ;
  • 系统服务层 : 包含 基础软件服务子系统集 , 增强软件服务子系统集 , 硬件服务子系统集 , 可进行裁剪 ;
  • 框架层 : 提供 C/C++/JS 等语言的 用户程序框架 和 Ability框架 , ArkUI框架 ;
  • 应用层 : 系统应用 和 第三方应用 ;

3、OpenHarmony 特点


OpenHarmony 具有全场景覆盖 / 分布式架构 / 统一开发 / 安全可靠 等特点 ;

  • 全场景覆盖 : 可用于各种 智能终端设备 , 智能手表 , 智能家居 , 智能手机 , 平板电脑 , 智能电视 ;
  • 分布式架构 : 不同的设备 之间 可以 进行 通信和协同工作 ;
  • 统一开发 : OpenHarmony 提供了 统一的开发工具和框架 , 可进行跨平台开发 ;
  • 安全可靠 : OpenHarmony 采用了 多层安全防护机制 ;




二、HarmonyOS / OpenHarmony - Android / AOSP 对比关联




1、HarmonyOS 与 Android 的关系


HarmonyOS ( 鸿蒙操作系统 ) 不是 Android 的套壳 , 不是 Android 的套壳 , 不是 Android 的套壳 ;

OpenHarmony 源码 与 AOSP ( Android Open Source Project ) 源码 是完全不同的 , 二者都是基于 Linux 内核的操作系统 , 但是 二者的 设计理念不同 , 鸿蒙操作系统的设计理念远超 AOSP ;

HarmonyOS 完全抛弃了 Java 语言 , 在之后的 HarmonyOS 系统 不再兼容 Android 系统 , Android 系统的 APK 应用无法安装到 鸿蒙系统 中了 ;

目前 HarmonyOS 开发语言中 , 已经完全剔除 Java 语言 , 使用 TypeScript 语言进行开发 ;


2、HarmonyOS 与 OpenHarmony 的关系


OpenHarmony 的地位类似于 AOSP ( Android Open Source Project ) ;

  • Google 在 AOSP 基础上 , 增加 Google 的一些定制服务 , 推出各个版本的 Android 系统 ;
    • 其它厂商也可以基于 AOSP 推出自己的手机操作系统 , 如 : 三星 , 小米 等公司 ;
  • 华为 在 OpenHarmony 基础上 , 增加 华为的商业服务 , 推出 HarmonyOS 商业化操作系统 ;
    • HarmonyOS 操作系统 是 基于 OpenHarmony 系统 , 增加了 华为的 定制商业服务 , 如 : 鸿蒙智联 HiLink / HMS 等 ;
    • 其它厂商也可以基于 OpenHarmony 推出自己的 鸿蒙操作系统 ;
    • 目前除华为外没有其它厂商基于 OpenHarmony 开发操作系统 , 都是基于 AOSP 开发的 Android 操作系统 ;

对于 APP 应用开发者来讲 , HarmonyOS 与 OpenHarmony 没有太大区别 , 开发的 APP 应用都可以在两个系统上运行 , 目前只有 华为的 HarmonyOS 是基于 OpenHarmony 的操作系统 ;

在应用开发中 , 使用到的绝大多数 API 都是 OpenHarmony 的提供的 API 功能 ;


可以这样理解 : 对于 Android 开发者来说 , 开发出来的 APK 安装包 , 既可以在 Google 手机中的 AOSP 原生系统运行 , 也可以在 小米 / VIVO 等 Android 手机中运行 ;


3、HarmonyOS 与 OpenHarmony 的版本迭代


OpenHarmony 的 版本迭代 要快于 HarmonyOS ;

OpenHarmony 已经迭代到了 OpenHarmony 4.1 Release 版本 , 对应 API 能力级别为 API 11 Release ;

参考文档 : https://docs.openharmony.cn/pages/v4.1/zh-cn/OpenHarmony-Overview_zh.md


HarmonyOS 使用的是 OpenHarmony SDK 3.2.12.2 (API Version 9 Release) , 对应 API 能力级别为 API 9 Release ;

参考文档 : https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/1_1_u5feb_u901f_u5165_u95e8-0000001478340845-V2

HarmonyOS 与 OpenHarmony 各个版本的对应关系 , 参考 https://developer.huawei.com/consumer/cn/doc/harmonyos-releases-V2/harmonyos_release_3_1_202305-0000001582097989-V2 文档 ;

该文档中也给出了对应的 DevEco Studio 的版本 , 注意这三个版本一定要匹配 ;

点击左侧 , 可以查看 HarmonyOS 1.0 / 2.x / 3.x 的 各个版本的 具体信息 ;

因此 , 使用 OpenHarmony 最新的 4.1 开发的应用 , 有可能在 华为手机 HarmonyOS 系统中 有兼容性问题 , 无法运行 ;





三、鸿蒙开发者定位及使用的开发语言和开发工具



华为应用开发者 : 基于 华为手机的 应用开发者 , 开发出的应用 在 华为的鸿蒙手机中运行 , 主要基于 HarmonyOS 进行开发 ;

  • HarmonyOS 的底层开发 是 华为公司自己做的 ;
  • 在该生态中 , 开发者只能开发 应用程序 ;

第三方应用 / 厂商开发者 : 如果是 第三方 智能设备厂商 接入到 鸿蒙生态 , 涉及到两个方面 :

  • 底层开发 ( 南向开发 ) : 基于 OpenHarmony 开发自己的操作系统 , 厂商自己移植驱动和硬件 , 只需要使用 OpenHarmony 的 api 接口 ;

    • 底层开发 使用的开发环境 是 HUAWEI DevEco Device Tool , 这是基于 Visual Studio Code 的开发环境 ;
    • 开发语言是 C\C++ 语言 , ArkTs 语言 , 汇编语言 ;
    • HUAWEI DevEco Device Tool 工具 : https://device.harmonyos.com/
  • 应用开发 ( 北向开发 ) : 开发产品 , 接入鸿蒙生态 , 可能需要在华为手机中运行 , 需要用到 HarmonyOS 或 OpenHarmony 的 api 接口 ;

    • 应用开发 使用的 开发环境 是 HUAWEI DevEco Studio , 这是 基于 IntelliJ IDEA Community 开源版本 深度定制开发 , 类似于 Android Studio ;

    • 开发语言是 C\C++ 语言 , ArkTs 语言 , Java 语言在 API 9 版本被废弃 ;

    • HUAWEI DevEco Studio 工具 : https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/deveco_overview-0000001053582387-V2

  • ArkTS 语言 是在保持 TypeScript 语言 的 基本语法风格的基础上 , 对 TypeScript 语言的动态类型特性施加了更严格的约束 , 引入了静态类型检查 , 有助于在开发阶段检测更多错误 , 提升代码的健壮性 ; 这个语言必须精通 ;

  • HarmonyOS 和 OpenHarmony 的 绝大部分 的 api 接口是通用的 ;

Top