QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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:0811849
用户头像
万佳 前InfoQ编辑

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

关注

评论 1 条评论

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

低调的采集,低调的学习,用自然资源部信息中心网站,来练习Python爬虫

梦想橡皮擦

11月日更

Vue进阶(贰零贰):集合 Set 和 Map

No Silver Bullet

Vue 集合 11月日更

模块四作业

Asha

「架构实战营」

Fabric.js 画布基础功能

德育处主任

JavaScript 大前端 canvas 画布 FabricJS

sockfwd 一个数据转发的小工具

Robert Lu

Go 语言

看动画学算法之:hashtable

程序那些事

Java 数据结构 算法 程序那些事 11月日更

SAP数据中心概述

汪子熙

数据中心 Cloud SAP 11月日更

k8s endpoints controller源码分析

良凯尔

Kubernetes 源码分析 Kubernetes源码 #Kubernetes#

一文带你了解HTTP

喀拉峻

网络

【Flutter 专题】02 图解 Mac 环境下安装配置环境

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

微博评论的高性能高可用计算架构

deng

架构实战

Elasticsearch写入数据的过程是什么?以及是如何更新索引数据的

热爱java的分享家

Java 架构 程序人生 编程语言 经验分享

搞定大厂算法面试之leetcode精讲2.时间空间复杂度

全栈潇晨

LeetCode 算法面试 算法刷题

redis sentinel 设计考试试卷

云里雾花

redis sentinel

System.Text.Json自定义Conveter

喵叔

11月日更

Maven 依赖调解源码解析(七):总结

xiaoxi666

maven 源码解析

架构营模块四作业

GTiger

架构实战营

【系列文章】Maven 源码解析:依赖调解是如何实现的?

xiaoxi666

maven 源码解析

Android C++系列:Linux进程(一)

轻口味

c++ android jni 11月日更

HiveSQL优化方法

大数据技术指南

11月日更

记录一次错误使用 yum 命令的尴尬

liuzhen007

11月日更

模块四-考试试卷存储方案

小何

「架构实战营」

微博评论的高性能高可用计算架构

deng

架构实战

如何关闭maven-default-http-blocker?

Robert Lu

Java maven

将 Java 应用部署到 SAP 云平台 neo 环境的两种方式

汪子熙

Cloud SAP CloudFoundry 11月日更

最强最全面的数仓建设规范指南(一)

五分钟学大数据

11月日更

如何通过抓包来查看Kubernetes API流量

Robert Lu

golang #Kubernetes#

架构实战营-模块五

瓜子葫芦侠

「架构实战营」

先睹为快即将到来的HTML6

devpoint

JavaScript html5 11月日更

记一次提升18倍的性能优化

捉虫大师

性能优化 Go 语言

架构实战营 - 模块四作业

危险游戏

架构实战营

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