【摘要】 笔者说:因为本人也从未接触 Android 开发,所以本文也是从小白入门的角度学习 HarmonyOS开发,文中大量的内容和观点其实都可以从官方文档查阅到。写这篇文章大概也是从中精简内容,记录学习 HarmonyOS 的过程。
鸿蒙操作系统(HarmonyOS)最初在 2019 年的华为开发者大会上发布并且宣布开源,然后……
鸿蒙,万物之始鸿蒙者,万物之始也。
鸿蒙操作系统(HarmonyOS)最初在 2019 年的华为开发者大会上发布并且宣布开源,然后鸿蒙 2.0 在 2020 推出,又吸引了众多开发者的眼球。这是一款面向全场景分布式操作系统,开启万物智联新模式。这是一款跨平台开发的操作系统,兼容多种设备。按照官网的介绍:
HarmonyOS 主打的是 “1+8+N” 的全场景体验,如何解释呢?
“1”指的是主入口手机;
“8”指的是智慧屏、平板、PC、音响、手表、眼镜、车机和耳机8种设备;
“N”则指的是泛IoT硬件构成的华为HiLink生态,其中包括移动办公、智能家居、健康生活、影音娱乐、智能出行等各大场景下的智能硬件设备。
鸿蒙的英文名,之前为拼音 " HongMeng",后又 改为 Harmony ,有和谐,协调之义。更能体现鸿蒙 OS 的特点,比拼音更国际化了。
鸿蒙学习资源汇总
讲特点都是虚的,但也是需要讲的。鸿蒙的特点:
分布式为基础的多终端屏幕共享,跨屏设计
系统与硬件解耦,弹性部署
应用一次开发,多端部署
但我们开发者的角度更多关心的是:如何开发?用什么语言开发?
毕竟,生态和社区还是很重要的。为此,Harmony 官方也给了一套完整的解决方案。
HarmonyOS 概述
想要学习鸿蒙系统开发,就不得不先从操作系统本身开始学习,了解鸿蒙操作系统到底是什么。
官方的定位是:
HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。
HarmonyOS 提供了支持多种开发语言的API,供开发者进行应用开发。支持的开发语言包括 Java、XML(Extensible Markup Language)、C/C++ 、 JS(JavaScript)、CSS(Cascading Style Sheets)和 HML(HarmonyOS Markup Language)。
对比 IOS 开发限于 SWIFT/Object-C,Android 开发使用 Kotlin/JAVA,鸿蒙就已经领先于市场上许多传统操作系统。
技术架构
层次结构的思想还是很重要的,类似其他操作系统的分层结构,。Harmony 脱胎于 Linux,HarmonyOS 也不例外采取了分层架构。
Linux 的系统结构
先让我们看一下 Linux 的系统结构,Linux 操作系统的架构主要有以下组件:内核、硬件层、系统库、Shell 和应用程序,就不得不提到这个很多书会提到的图:
内核是操作系统的核心部分,负责 Linux 操作系统的所有主要活动。该操作系统由不同的模块组成,直接与底层硬件进行交互。内核提供所需的抽象来隐藏到系统的应用程序或低级硬件详细信息;
系统库是特殊函数,用于实现操作系统的功能,不需要内核模块的代码访问权限;
Shell 是用户和内核之间的接口,它提供内核的服务。它来自用户的命令并执行内核的函数。Shell 以不同类型的操作系统存在,它们分为两种类型:命令行 Shell 和图形 Shell;
应用程序易于执行个人和专业级别的任务,包括我们看到的图形界面、开发工具等;
HarmonyOS 系统架构
从请添加链接描述来看:
HarmonyOS 与 Linux 类似,整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。
系统功能按照“系统 > 子系统 > 功能/模块”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。HarmonyOS技术架构如下所示。
感兴趣的朋友可以去读一下官方文档,仔细了解一下每层主要实现的功能。
而本文主要关注于应用层的知识,利用 HarmonyOS 进行应用开发,所以直接往下走。
HarmonyOS 应用开发
用户应用程序泛指运行在设备的操作系统之上,为用户提供特定服务的程序,简称“应用”。在HarmonyOS上运行的应用,有两种形态:
传统方式的需要安装的应用。
鸿蒙学习资源汇总
提供特定功能,免安装的应用(即原子化服务)。
需要安装的用户应用程序包以 APP Pack(Application Package)形式发布,它是由一个或多个 HAP(HarmonyOS Ability Package)以及描述每个 HAP 属性的 pack.info 组成。HAP 是 Ability 的部署包,HarmonyOS 应用代码围绕 Ability 组件展开。App 的逻辑视图如下:
开发准备
下载与安装DevEco Studio
俗话说,“工欲善其事,必先利其器”,为了进行HarmonyOS应用开发,需要完成一些准备工作,确保准备好了必备的DevEco Studio开发工具,即HarmonyOS的一站式集成开发环境(IDE)。
下面以window中安装DevEco Studio开发工具为例,介绍如何下载、安装并配置开发环境。
为保证DevEco Studio正常运行,建议Window电脑配置满足如下要求:
操作系统:Windows10 64位
内存:8GB及以上
硬盘:100GB及以上
分辨率:1280*800像素及以上
进入DevEco Studio下载官网:
https://developer.harmonyos.com/cn/develop/deveco-studio,单击“立即下载”进入下载页面。
DevEco Studio提供了Windows版本和Mac版本选择,可以根据操作系统选择对应的版本进行下载。
鸿蒙学习资源汇总
下载完成后,解压下载的压缩包并进入到其中,双击下载的“deveco-studio-xxxx.exe”,进入DevEco Studio安装向导,在如下界面选择安装路径,默认安装于“C:\Program Files”下,也可以单击“Browse…”指定其他安装路径,然后单击“Next”。
如下安装选项界面勾选DevEco Studio后,单击“Next”,直至安装完成。
安装完成后,单击“Finish”完成安装。
鸿蒙学习资源汇总
配置环境
双击已安装的DevEco Studio快捷方式进入配置页面,IDE会进入配置向导,选择Agree,同意相应的条款,进入配置页。
点击“OK”跳过导入设置:
进入DevEco Studio配置页面,首先需要进行基础配置,包括Node.js与Ohpm的安装路径设置,选择从华为镜像下载至合适的路径。
单击’Next’进入SDK配置,设置为合适的路径,
点击’Next’后会显示’SDK License Agreement’,阅读相关协议后,勾选’Accept’。
单击‘Next’进入配置预览页,在这里进行配置项的确认。
确认完成后,单击’Next’,进入下一步。
等待配置自动下载完成,完成后,单击’Finish’,IDE会进入欢迎页,我们也就成功配置好了开发环境。
准备工作完成后,接下来将进入DevEco Studio进行工程创建和运行。
创建项目
如果你是首次打开DevEco Studio,那么首先会进入欢迎页。
在欢迎页中单击Create Project,进入项目创建页面。
选择‘Application’,然后选择‘Empty Ability’,单击‘Next’进入工程配置页。
配置页中,详细信息如下:
Project name是开发者可以自行设置的项目名称,这里根据自己选择修改为自己项目名称。
Bundle name是包名称,默认情况下应用ID也会使用该名称,应用发布时对应的ID需要保持一致。
Save location为工程保存路径,建议用户自行设置相应位置。
Compile SDK是编译的API版本,这里默认选择API9。
Model选择Stage模型,其他保持默认即可。
然后单击“Finish”完成工程创建,等待工程同步完成。
鸿蒙学习资源汇总
总结
万丈高楼平地起,只有先从自己快速能动手实践,才有动力继续学下去。如果你也跟我一样是 Java 使用者,还没有 Android 开发基础,我认为是可以动手学习更多关于鸿蒙开发的知识的。毕竟,目前相关文章和书籍还是比较少的,多探索还是有一定必要的。