HarmonyOS介绍

鸿蒙开发

HarmonyOS概述

什么是HarmonyOS

1 HarmonyOS  中文名字是  鸿蒙操作系统、
2 HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。
3 鸿蒙操作系统在传统的单设备系统能力的基础上,提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。使得用户在使用时可以在多个终端硬件之间进行很好的切换

图示: 1harmonyos

HarmonyOS发展历程

2012年,华为公司开始规划自己操作系统,命名为“鸿蒙”。 
2018年8月24日,华为公司向国家知识产权商标局申请了“华为鸿蒙”商标,注册公告日期是2019年5月14日,专用权限期是从2019年5月14日到2029年5月13日。 
2019年8月9日,华为正式发布鸿蒙系统,同时表示,鸿蒙操作系统开源。
2020年8月7日-8日,在中国信息化百人会2020年峰会上,华为公司表示,鸿蒙操作系统已经应用到华为智慧屏和华为手表上,未来会应用到全场景终端设备上。 
2020年9月10日,华为鸿蒙系统升级至2.0版本,即HarmonyOS 2.0,并面向终端设备开源。
2020年12月16日,华为鸿蒙OS正式发布了面向手机开发者的Beta版本,即HarmonyOS 2.0
2021年6月2日晚,华为正式发布HarmonyOS 2
2022年7月27日,华为发布 HarmonyOS 3 系统。

图示: 2鸿蒙发展史

HarmonyOS的特性

1 硬件互助,资源共享

多种设备之间能够实现硬件互助、资源共享,依赖的关键技术包括分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等。

分布式软总线

  • 2分布式软总线

分布式设备虚拟化

  • 3分布式设备虚拟化

分布式数据管理

4分布式数据管理

分布式任务调度

  • 5分布式任务调度

分布式连接能力

6分布式连接

分布式连接能力包含底层能力(Connect Service)和应用层能力(AILife Client Service)。

底层能力(Connect Service)涉及如下模块:

  • 终端USB:智能终端侧USB模块,可对USB生态产品供电,是连接智能终端和生态产品的物理接口。
  • 接入管理:智能终端统一对外提供的接口,用于和生态产品进行通信。
  • 通信框架:统一管理搜网、信号显示,通过接入管理模块对外提供接口。

应用层能力(AILife Client Service)涉及如下模块:

  • 智慧生活:生态产品的公共开发平台,能够接入USB生态设备并创建接入卡片。

典型应用场景举例:

基于分布式连接能力,可以通过开发生态配件拓展智能终端的通信能力:

  • USB模块:生态配件侧USB模块,用于和智能终端USB建立物理连接。
  • 功能模块:生态合作伙伴根据需求开发设备系统和功能。
  • 配件插件:生态合作伙伴基于AILife Client Service能力开发生态配件功能。

2 一次开发,多端部署

HarmonyOS提供了用户程序框架、Ability框架以及UI框架,支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发、多端部署,提升了跨设备应用的开发效率。一次开发、多端部署示意图见图6

其中,UI框架支持使用ArkTS、JS、Java语言进行开发,并提供了丰富的多态控件,可以在手机、平板、智能穿戴、智慧屏、车机上显示不同的UI效果。采用业界主流设计方式,提供多种响应式布局方案,支持栅格化布局,满足不同屏幕的界面适配能力。 7一次开发多次部署

3 统一OS,弹性部署

HarmonyOS通过组件化和小型化等设计方法,支持多种终端设备按需弹性部署,能够适配不同类别的硬件资源和功能需求。支撑通过编译链关系去自动生成组件化的依赖关系,形成组件树依赖图,支撑产品系统的便捷开发,降低硬件设备的开发门槛。

  • 支持各组件的选择(组件可有可无):根据硬件的形态和需求,可以选择所需的组件。
  • 支持组件内功能集的配置(组件可大可小):根据硬件的资源情况和功能需求,可以选择配置组件中的功能集。例如,选择配置图形框架组件中的部分控件。
  • 支持组件间依赖的关联(平台可大可小):根据编译链关系,可以自动生成组件化的依赖关系。例如,选择图形框架组件,将会自动选择依赖的图形引擎组件等。

HarmonyOS体系结构 1体系结构

1 内核层

内核子系统:HarmonyOS采用多内核设计,支持针对不同资源受限设备选用适合的OS内核。

2 系统服务层

系统服务层是HarmonyOS的核心能力集合,通过框架层对应用程序提供服务。该层包含以下几个部分:

1 系统基本能力子系统集
2 基础软件服务子系统集
3 增强软件服务子系统集
4 硬件服务子系统集

3 框架层

框架层为HarmonyOS应用开发提供了ArkTS/JS/C/C++/Java等多语言的用户程序框架,两种UI框架(包括适用于ArkTS/JS语言的方舟开发框架即ArkUI、适用于Java语言的Java UI框架),以及各种软硬件服务对外开放的多语言框架API。根据系统的组件化裁剪程度,HarmonyOS设备支持的API也会有所不同。

4 应用层

应用层包括系统应用和第三方非系统应用。HarmonyOS的应用由一个或多个FA(Feature Ability)或PA(Particle Ability)组成。其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。FA在进行用户交互时所需的后台数据访问也需要由对应的PA提供支撑。基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。

支持多语言开发

进行HarmonyOS相关的开发可以选择的语言很多
如:C/C++、Java、XML、JS(JavaScript)、TS(TypeScript)、ArkTS、CSS和HML(HarmonyOS Markup Language)等等。
在应用开发层面,目前主要支持的是两大语言:
一个是JavaScript,简称JS;
一个是改进的TypeScript,也称eTS或ArkTS。
当然也可进行基于C/C++、Java、Python等语言的开发。

posted on   hellowworld!  阅读(29)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示