现在,开发者可通过 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 不仅为我国大型开源产业生态建设提供了有益的尝试,而且将成为全球智能终端操作系统的一股重要新生力量。