HarmonyOS介绍
鸿蒙开发
HarmonyOS概述
什么是HarmonyOS
1 HarmonyOS 中文名字是 鸿蒙操作系统、
2 HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。
3 鸿蒙操作系统在传统的单设备系统能力的基础上,提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。使得用户在使用时可以在多个终端硬件之间进行很好的切换
图示:
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 系统。
图示:
HarmonyOS的特性
1 硬件互助,资源共享
多种设备之间能够实现硬件互助、资源共享,依赖的关键技术包括分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等。
分布式软总线
分布式设备虚拟化
分布式数据管理
分布式任务调度
分布式连接能力
分布式连接能力包含底层能力(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效果。采用业界主流设计方式,提供多种响应式布局方案,支持栅格化布局,满足不同屏幕的界面适配能力。
3 统一OS,弹性部署
HarmonyOS通过组件化和小型化等设计方法,支持多种终端设备按需弹性部署,能够适配不同类别的硬件资源和功能需求。支撑通过编译链关系去自动生成组件化的依赖关系,形成组件树依赖图,支撑产品系统的便捷开发,降低硬件设备的开发门槛。
- 支持各组件的选择(组件可有可无):根据硬件的形态和需求,可以选择所需的组件。
- 支持组件内功能集的配置(组件可大可小):根据硬件的资源情况和功能需求,可以选择配置组件中的功能集。例如,选择配置图形框架组件中的部分控件。
- 支持组件间依赖的关联(平台可大可小):根据编译链关系,可以自动生成组件化的依赖关系。例如,选择图形框架组件,将会自动选择依赖的图形引擎组件等。
HarmonyOS体系结构 
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等语言的开发。
本文来自博客园,作者:hellowworld!,转载请注明原文链接:https://www.cnblogs.com/zhangsai/p/18650078
posted on 2025-01-03 14:37 hellowworld! 阅读(29) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)