前言
首先说说为什么会想着学习HarmonyOS开发,自己做过JAVA、Android开发做过不少项目也想尝试一下新鲜的东西,其次HarmonyOS是华为推出的,作为一名有理想的爱国青年,支持国产支持华为。我想说“教练,我想学鸿蒙开发!!!”
简介
官网:https://www.harmonyos.com/
文档中心:https://developer.harmonyos.com/cn/documentation
在官网的介绍中可以发现鸿蒙开发分为两种模式:Harmony应用开发和Harmony设备开发;同时华为也提供了连两款一体化的开发IDE:DevEco Studio和DevECO Device tool,想要尝试的同学可以下载玩一玩。
系统定位
HarmonyOS是一款面向全场景多设备的分布式操作系统。让不同终端设备之间实现快速连接、能力互助、资源共享;分布式技术让开发者实现与不同终端设备的形态差异无关,专注于上层业务逻辑;对于设备开发者而言可以根据设备的资源能力和业务特征进行灵活裁剪组件,满足不同形态的终端设备对于操作系统的要求。
HarmonyOS提供了支持多种开发语言API,支持的语言包括Java、Xml、C/C++、JS、CSS和HML(HarmonyOS Markup Language)。
技术架构
整体设计自下向上依次为:内核层、系统服务层、框架层和应用层。
内核层
- 内核子系统:HarmonyOS采用多内核设计,支持针对不同资源受限设备选择合适的OS内核。
- 驱动子系统:硬件驱动框架(HDF)是HarmonyOS硬件生态开放的基础,提供统一外设访问能力和驱动开发、管理框架。
系统服务层
系统服务层是HarmonyOS的核心能力集合,通过框架层对应用程序提供服务该层包含以下几个部分:
- 系统基本能力子系统集:为分布式应用在HarmonyOS多设备上的运行、调度、迁移等操作提供基础能力,由分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共基础库、多模输入、图形、安全、AI等子系统组成。
- 基础软件服务子系统集:为HarmonyOS提供公共的通用的软件服务,由事件通知、电话、多媒体、DFX、MSDP&DV等子系统组成。
- 增强软件服务子系统:为HarmonyOS提供针对不通设备的、差异化的能力增强型软件服务,由智慧屏转悠业务、穿戴转悠硬件服务、IOT转悠硬件服务等子系统组成。
- 硬件服务子系统:由位置服务、生物特征十八别、穿戴专有硬件服务、Iot专有硬件服务等子系统组成。
框架层
提供了Java/C/C++/JS等多语言的用户程序框架和Ability框架,两种UI框架(Java和JS框架)。
应用层
应用层包括系统应用和第三方非系统应用。HarmonyOS的应用由一个或多个FA(Feature Ability)或PA(Particle Ability)组成。其中,FA有UI界面,提供与用户交互的能力;而PA无UI界面,提供后台运行任务的能力以及统一的数据访问抽象。FA在进行用户交互时所需的后台数据访问也需要由对应的PA提供支撑。基于FA/PA开发的应用,能够实现特定的业务功能,支持跨设备调度与分发,为用户提供一致、高效的应用体验。