写点什么

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

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

关注

评论 1 条评论

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

关于MVVM和MVC,面试看这篇就够了

山河已无恙

mvc 全栈 MVVM 2月月更

用简单例子带你了解联合索引查询原理及生效规则

华为云开发者联盟

sql 索引 查询 联合索引

C++异常处理机制

正向成长

c++ 异常处理

ko在数栈中的应用

袋鼠云数栈

Pulsar 职位广场 | 腾讯、华为云、虾皮、众安保险、StreamNative 等多个热招岗位

Apache Pulsar

开源 架构 云原生 招聘 Apache Pulsar

学生管理系统的架构文档

卡西毛豆静爸

「架构实战营」

Python 中的数组哪去了?

宇宙之一粟

Python 数组 2月月更

数据库读写分离如何保证主从一致性?

蜜糖的代码注释

MySQL 数据库 2月月更

基于CC2530设计的智能风扇

DS小龙哥

2月月更 智能风扇

80%的软件环境管理问题,根因都在这里 | 研发效能提升36计

阿里云云效

阿里云 DevOps 云原生 持续交付 部署

工作想法小计(2):2/14 - 2/18

非晓为骁

个人成长

学生管理系统架构设计文档

阿卷

架构实战营

面试突击25:sleep和wait有什么区别?

王磊

java面试

鲲鹏DevKit & BoostKit直播解密:如何“做开发者的开发者”

科技热闻

盘一盘常见的6种索引失效情况

华为云开发者联盟

MySQL 索引 字符串 查询 索引失效

十年所学,梦想终至,不负时光 | 《云端架构》新书首推发布,来自极度努力的吕校长

博文视点Broadview

大厂偏爱的Agent技术究竟是个啥

捉虫大师

架构 agent

Nginx跨域解决配置示例

nginx 跨域

好用不卡,这些插件和配置让你的 Webstorm 更牛逼!

前端下午茶

前端 工具 webstorm

学生管理系统的架构设计

凌波微步

「架构实战营」

VIPKID基于Karmada的容器PaaS平台落地实践

华为云原生团队

开源 Kubernetes k8s多集群管理 混合云 分布式云

凡泰极客成为W3C成员并加入MiniApps工作组,将积极参与小程序快应用技术标准化进程

FinClip

小程序

OpenHarmony移植案例与原理:如何适配服务启动引导部件bootstrap_lite

华为云开发者联盟

OpenHarmony 移植 bootstrap_lite startup 系统服务

[Python]介绍

謓泽

Python 2月月更

UMEM:友盟统计自定义事件多应用一键同步 & 批处理工具

SamgeApp

Docker Vue 友盟助手 友盟自定义事件批处理 友盟统计

CSS实现阮大佬博文的阅读进度功能

战场小包

CSS css3 前端 2月月更

如何打造一个能自动回复的钉钉机器人

老表

Python 机器人 Linxu 跟老表学云服务器

[Python]第一章(建议收藏)

謓泽

Python 2月月更

eBPF 完美搭档:连接云原生网络的 Cilium

火山引擎边缘云

边缘计算 ebpf 云原生网络 cllium

开源| 直播推拉流2.0升级了什么

anyRTC开发者

开源 音视频 屏幕共享 视频直播 美颜滤镜

上海市宝山区委书记陈杰一行参访旺链科技

旺链科技

区块链 产业区块链 Vone新闻

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