前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【鸿蒙 HarmonyOS】OpenHarmony 简介 ( HarmonyOS / OpenHarmony - Android / AOSP 对比关联 | 鸿蒙开发者定位及使用的开发语言和开发工具)

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

作者头像
韩曙亮
发布2024-05-27 07:48:02
1K1
发布2024-05-27 07:48:02
举报

一、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框架 ;
  • 应用层 : 系统应用 和 第三方应用 ;

上述架构 参考 https://docs.openharmony.cn/pages/v4.0/zh-cn/OpenHarmony-Overview_zh.md/ 文档 ;

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 接口 ;
  • ArkTS 语言 是在保持 TypeScript 语言 的 基本语法风格的基础上 , 对 TypeScript 语言的动态类型特性施加了更严格的约束 , 引入了静态类型检查 , 有助于在开发阶段检测更多错误 , 提升代码的健壮性 ; 这个语言必须精通 ;
  • HarmonyOS 和 OpenHarmony 的 绝大部分 的 api 接口是通用的 ;
代码语言:javascript
复制
#include "iostream"
using namespace std;
#include <algorithm> 

int main() {

	string hello = "Hello, World!";

	// 将字符串中的所有字符元素转为大写字母
	transform(hello.begin(), hello.end(), hello.begin(), toupper);

	cout << hello << endl;
	
	// 控制台暂停 , 按任意键继续向后执行
	system("pause");
	return 0;
};
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、OpenHarmony 简介
    • 1、OpenHarmony 由来
      • 2、OpenHarmony 架构
        • 3、OpenHarmony 特点
        • 二、HarmonyOS / OpenHarmony - Android / AOSP 对比关联
          • 1、HarmonyOS 与 Android 的关系
            • 2、HarmonyOS 与 OpenHarmony 的关系
              • 3、HarmonyOS 与 OpenHarmony 的版本迭代
              • 三、鸿蒙开发者定位及使用的开发语言和开发工具
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档