如何 0 成本启动全员 AI 技能提升?戳> 了解详情
写点什么

OpenHarmony 2.0 Canary(金丝雀版)发布,自主研发,不兼容安卓

  • 2021-06-02
  • 本文字数:2266 字

    阅读完需:约 7 分钟

OpenHarmony 2.0 Canary(金丝雀版)发布,自主研发,不兼容安卓

6 月 1 日,开放原子开源基金会( OpenAtom Foundation,以下简称“基金会”)正式发布 OpenAtom OpenHarmony(以下简称"OpenHarmony")2.0 Canary。


现在,开发者可通过 Gitee 下载完整代码。


OpenHarmony 开源项目地址:https://gitee.com/openharmony


据悉,OpenHarmony 是由基金会孵化及运营的开源项目,由基金会的 OpenHarmony 项目群工作委员会负责运作,遵循 Apache 2.0 等开源协议,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台。


2020 年 9 月,基金会获捐 OpenHarmony 开源项目后宣布开源,随后组织各方力量对项目开展共建,于 2020 年 12 月联合七家志愿共建单位成立了 OpenHarmony 项目群工作委员会,七家单位分别是(排名按单位简称首字母排序):博泰、华为、京东、润和、亿咖通、中科院软件所、中软国际。


很快,OpenHarmony 1.0 版本在当年 9 月 10 日正式上线,支持内存为 128K 到 128M 的终端设备。


2021 年 6 月 1 日,OpenHarmony 2.0 Canary 版本宣布上线,支持内存 128M 以上的各种智能终端设备。与 OpenHarmony 1.0 不同,OpenHarmony 2.0 覆盖设备范围延伸到百兆内存及以上的富媒体终端设备。


截至 2021 年 5 月 31 日,已有 240 多个共建企业、共建机构与个人贡献者参与项目。

自主研发,不兼容安卓

在万物互联时代,人均持有设备量不断攀升,设备和场景的多样性,使应用开发变得更加复杂、应用入口更加丰富。在此背景下,用户和应用提供方迫切需要一种全新的服务提供方式,让服务的获取和使用更便捷、应用开发更简单。


OpenHarmony 用户应用程序是一种基于服务原子化概念定义的新型应用。与传统终端用户应用程序不同,OpenHarmony 用户应用程序支持在 OpenHarmony 设备间跨端迁移、多端协同,一次开发多端部署,实现可分可合可流转。


OpenHarmony 用户应用程序基于全新设计的 OpenHarmony API/SDK 开发,可以运行在基于全新 OpenHarmony 开源项目开发的系统上,并可以在多终端之间无缝流转。


OpenHarmony 程序框架仅支持全新的 OpenHarmony 用户应用程序运行,不支持基于安卓系统的 API/SDK 开发的用户应用程序运行。

OpenHarmony 的技术架构


据悉,OpenHarmony 整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。


具体而言,内核层方面:支持多内核,内核抽象层(KAL,Kernel Abstract Layer)屏蔽多内核差异,对上层提供统一的内核能力,如进程/线程管理、内存管理、文件系统等。驱动框架(HDF)则提供统一外设访问能力和驱动开发、管理框架。


系统服务层方面:系统服务层是 OpenHarmony 的核心能力集合,通过框架层对应用程序提供服务。


框架层方面:为应用开发提供了 C/C++/JS 等多语言的用户程序框架和 Ability 框架,JS UI 框架,以及各种软硬件服务对外开放的多语言框架 API。根据系统的组件化裁剪程度,设备支持的 API 也会有所不同。


应用层方面:与传统终端用户应用程序不同,OpenHarmony 用户应用程序支持在 OpenHarmony 设备间跨端迁移、多端协同,一次开发多端部署,实现可分可合可流转。其次,它基于全新设计的 OpenHarmony API/SDK 开发,能运行在基于全新 OpenHarmony 开源项目开发的系统上,并可以在多终端之间无缝流转。并且,OpenHarmony 程序框架仅支持全新的 OpenHarmony 用户应用程序运行,不支持基于安卓 API/SDK 开发的用户应用程序运行。

OpenHarmony 的三大特性

据悉,OpenHarmony 有三大特点:


一是硬件互助,资源共享。这主要通过分布式软总线、分布式数据管理、分布式任务调度和设备虚拟化模块实现。


二是一次开发,多端部署。据了解,OpenHarmony 提供用户程序框架、Ability 框架以及 UI 框架,能够保证开发的应用在多终端运行时保证一致性。同时,多终端软件平台 API 具备一致性,确保用户程序的运行兼容性。并且,它还支持在开发过程中预览终端的能力适配情况(CPU/内存/外设/软件资源等),支持根据用户程序与软件平台的兼容性来调度用户呈现。


三是统一 OS,弹性部署。OpenHarmony 通过组件化和组件弹性化等设计方法,做到硬件资源的可大可小,在多种终端设备间,按需弹性部署,全面覆盖了 ARM、RISC-V、x86 等各种 CPU,从百 KB 到 GB 级别的 RAM。

OpenHarmony 项目治理:开放治理

据了解,OpenHarmony 在开放原子开源基金会的组织下、在 OpenHarmony 项目群工作委员会的治理下,以工作组、特别兴趣小组、子项目形式等方式组织。


项目治理遵循共商、共建、共享、共赢。


共商:OpenHarmony 开源项目重大事项由工作委员会各成员单位代表用投票方式共同决定,投票权利均等,一家单位一票,遵循公开明确的 OpenHarmony 项目群管理制度规则。


共建:按照约定的规则与流程,贡献者随时可以在 OpenHarmony 开源项目 Gitee 社区贡献代码,开放原子开源基金会定期组织版本发布。


共享:开放原子开源基金会将联合更多伙伴和开发者,打造开放的、全球化的、创新且领先的面向多智能终端、全场景的分布式操作系统,构筑可持续发展的开源生态系统。


共赢:所有的企业和个人均可基于 OpenHarmony 的开源代码,结合自身优势,去做各个领域的操作系统发行版及终端产品,共同促进生态发展。截至 2021 年 5 月,已有多家公司推出了基于 OpenHarmony 项目开发的智能终端,如智能手表、智能家电、智慧屏等。

写在最后:

从 1.0 到现在,OpenHarmony 已经基本完整,可以覆盖百 K 级内存及以上的全系列终端设备,支持可穿戴设备、家电、平板电脑、智能电视、手机、汽车等多终端设备。由多方共建、开源开放的 OpenHarmony 不仅为我国大型开源产业生态建设提供了有益的尝试,而且将成为全球智能终端操作系统的一股重要新生力量。

2021-06-02 14:0812144
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 386.4 次阅读, 收获喜欢 1805 次。

关注

评论 1 条评论

发布
用户头像
不兼容安卓吗 代码里有安卓的sdk ndk预编译文件来着 还以为是兼容用的呢
2021-06-02 15:24
回复
没有更多了
发现更多内容

leetcode 287. Find the Duplicate Number 寻找重复数 (中等)

okokabcd

LeetCode 数据结构与算法

AntDesignPro使用electron构建桌面应用

乌龟哥哥

10月月更

数据湖(十一):Iceberg表数据组织与查询

Lansonli

数据湖 10月月更

概述Spark主要特点

穿过生命散发芬芳

spark 10月月更

css学习笔记3

虾仁疙瘩汤

CSS css3 10月月更

C++从入门到精通(第十篇) :二叉搜索树

雪芙花

c++ 10月月更

【c++算法篇】--图论之克鲁斯卡尔

贤鱼很忙

c++ 图论 10月月更 克鲁斯卡尔

力扣刷题训练

lovevivi

c 数据结构 10月月更

C++精通之路:map和set

雪芙花

c++ 10月月更

C语言内存对齐问题

乌龟哥哥

C'语言 10月月更

【c++图论例题学习】【口袋的天空】【部落划分】

贤鱼很忙

c++ 图论 10月月更

CSS基础1

虾仁疙瘩汤

CSS css3 10月月更

liunx入门:Linux下基本指令

雪芙花

c++ Liunx 10月月更

C# 关于程序退出问题学习

IC00

C# 学习 程序员 上位机 10月月更

2022年元宇宙应用场景发展趋势分析

易观分析

元宇宙

CSS学习笔记2

虾仁疙瘩汤

CSS css3 10月月更

威胁网络安全的主要因素

阿泽🧸

网络安全 10月月更

如何进行需求分析?

老张

软件工程 需求分析

深入浅出Python——Python高级语法之函数

何极光

Python 函数 10月月更

Vue组件入门(十四)依赖注入

Augus

Vue 10月月更

2022-10-25:在一个 2 * 3 的板上(board)有 5 块砖瓦,用数字 1~5 来表示, 以及一块空缺用 0 来表示。一次 移动 定义为选择 0 与一个相邻的数字(上下左右)进行交换.

福大大架构师每日一题

算法 rust 福大大

【c++图论例题学习】洛谷p1991 无线通讯网-思路详解

贤鱼很忙

c++ 图论 10月月更

深入浅出Python——Python基础语法全解

何极光

Python 基础 10月月更

Spring Boot「14」MVC 与前端控制器模式

Samson

Java spring 学习笔记 spring-boot 10月月更

【web 开发基础】PHP 快速入门(11)-PHP 运算符之运算符的优先级

迷彩

表达式 10月月更 web开发基础 PHP基础 运算符优先级

SAP | 选择屏幕

暮春零贰

SAP 10月月更 屏幕

vue3.0 是如何变快的

乌龟哥哥

10月月更

Commit之后发生了什么事情

我不吃六安茶

MySQL 事务

Nginx反向代理是什么意思?如何配置Nginx反向代理?

wljslmz

nginx 反向代理 web服务器 10月月更

【web 开发基础】PHP的流程控制之单一分支结构-PHP 快速入门(12)

迷彩

10月月更 web开发基础 PHP基础 分支语句 if条件分支

OpenHarmony 2.0 Canary(金丝雀版)发布,自主研发,不兼容安卓_开源_万佳_InfoQ精选文章