9 月 25 日,华为常务董事、终端 BG CEO、智能汽车解决方案 BU 董事长余承东华为秋季全场景新品发布会上介绍了鸿蒙体系的最新进展:HarmonyOS 4 发布后,短短一个多月升级用户现已超越 6000 万,成为史上升级速度最快的 HarmonyOS 版别。余承东宣告,鸿蒙原生运用全面发动,HarmonyOS NEXT 开发者预览版将在 2024 年第一季度面向开发者敞开,移动开发的春天来了?
今天咱们来体验下鸿蒙 OS 运用开发。
下载与装置 DevEco Studio
在 HarmonyOS 运用开发学习之前,需求进行一些准备工作,首先需求完结开发工具 DevEco Studio 的下载与装置以及环境装备。
进入DevEco Studio 下载官网,单击“当即下载”进入下载页面。
DevEco Studio 提供了 Windows 版别和 Mac 版别挑选,可以依据操作体系挑选对应的版别进行下载。
这儿以 Windows 为例进行装置。
下载完结后,双击下载的“deveco-studio-xxxx.exe”,进入 DevEco Studio 装置导游,在如下界面挑选装置途径,默许装置于“C:Program Files”下,也可以单击“Browse…”指定其他装置途径,然后单击“Next”。
如下装置选项界面勾选 DevEco Studio 后,单击“Next”,直至装置完结。
装置完结后,单击“Finish”完结装置。
装备环境
双击已装置的 DevEco Studio 快捷方式进入装备页面,IDE 会进入装备导游,挑选 Agree,同意相应的条款,进入装备页。
进入 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”完结工程创立,等待工程同步完结。
认识 DevEco Studio 界面
进入 IDE 后,咱们首先了解一下根底的界面。整个 IDE 的界面大致上可以分为四个部分,别离是代码修正区、通知栏、工程目录区以及预览区。
-
代码修正区
中间的是代码修正区,你可以在这儿修正你的代码,以及切换显现的文件。经过按住 Ctrl 加鼠标滚轮,可以完成界面的扩大与缩小。
-
通知栏
在修正器底部有一行工具栏,首要介绍常用信息栏,其间 Run 是项目运转时的信息栏,Problems 是当时工程错误与提醒信息栏,Terminal 是命令行终端,在这儿执行命令行操作,PreviewerLog 是预览器日志输出栏,Log 是模拟器和真机运转时的日志输出栏。在后续运用中会陆续接触。
-
工程目录区
左侧为工程目录区,后续章节会详细介绍。
-
预览区
单击右上角 Previewer,可以预览相应的文件 UI 展示作用。
预览器提供了一些根本功能,包括旋转屏幕,切换显现设备及多设备预览等。单击旋转按钮,可以切换竖屏和横屏显现的作用。
也可以单击如下列表按钮,切换显现的设备类型。弹出框内会显现 Available Profiles,即可用的设备类型。
如单击 Foldable 切换设备,也可以单击旋转按钮切换 Foldable 的反正屏显现形式。
打开 Muti-profile preview 开关,可以完成多个尺度设备的实时预览。
单击预览器右上角组件预览按钮,可以进入组件预览界面。
组件预览形式可以预览当时组件对应的代码块。
点击相应组件,代码文件中会框选对应的组件代码部分,下方则对应当时组件的根本特点。
运转 Hello World
IDE 提供了本地模拟器供开发者运用,咱们首先需求下载装置本地模拟器,然后进行运转工程。
-
单击顶部工具栏 Tools>Device Manager。
-
挑选 Local Emulator,设置适宜的 Local Emulator Location 存储地址,然后单击’+New Emulator’。
挑选 Huawei_Phone 手机模拟器,单击’Next’,进入模拟器体系下载页。
挑选下载 api9 的体系镜像,然后单击’Next’,等待下载完结。
下载完结后,进行创立相应的手机模拟器,单击 Finish 完结创立。
下载完结后,在 Local Emulator 页面中会出现创立的手机模拟器,点击 Actions 按钮,就可以发动模拟器。
模拟器发动后,点击上方发动按钮,将 Hello World 工程运转到模拟器上。
IDE 构建完结后,即可在模拟器上看到运转作用,咱们也就完结了 Hello World 工程在模拟器上的运转。
了解根本工程目录
工程级目录
工程的目录结构如下。
其间详细如下:
- AppScope 中寄存运用大局所需求的资源文件。
- entry 是运用的主模块,寄存 HarmonyOS 运用的代码、资源等。
- oh_modules 是工程的依靠包,寄存工程依靠的源文件。
- build-profile.json5 是工程级装备信息,包括签名、产品装备等。
- hvigorfile.ts 是工程级编译构建使命脚本,hvigor 是根据使命办理机制完成的一款全新的自动化构建工具,首要提供使命注册编列,工程模型办理、装备办理等中心才能。
- oh-package.json5 是工程级依靠装备文件,用于记录引入包的装备信息。
在 AppScope,其间有 resources 文件夹和装备文件 app.json5。AppScope>resources>base 中包括 element 和 media 两个文件夹,
- 其间 element 文件夹首要寄存公共的字符串、布局文件等资源。
- media 寄存大局公共的多媒体资源文件。
模块级目录
entry>src 目录中首要包括总的 main 文件夹,单元测验目录 ohosTest,以及模块级的装备文件。
- main 文件夹中,ets 文件夹用于寄存 ets 代码,resources 文件寄存模块内的多媒体及布局文件等,module.json5 文件为模块的装备文件。
- ohosTest 是单元测验目录。
- build-profile.json5 是模块级装备信息,包括编译构建装备项。
- hvigorfile.ts 文件是模块级构建脚本。
- oh-package.json5 是模块级依靠装备信息文件。
进入 src>main>ets 目录中,其分为 entryability、pages 两个文件夹。
- entryability 寄存 ability 文件,用于当时 ability 运用逻辑和生命周期办理。
- pages 寄存 UI 界面相关代码文件,初始会生成一个 Index 页面。
resources 目录下寄存模块公共的多媒体、字符串及布局文件等资源,别离寄存在 element、media 文件夹中。
app.json5
AppScope>app.json5 是运用的大局的装备文件,用于寄存运用公共的装备信息。
其间装备信息如下:
- bundleName 是包名。
- vendor 是运用程序供应商。
- versionCode 是用于区别运用版别。
- versionName 是版别号。
- icon 对应于运用的显现图标。
- label 是运用名。
module.json5
entry>src>main>module.json5 是模块的装备文件,包括当时模块的装备信息。
其间 module 对应的是模块的装备信息,一个模块对应一个打包后的 hap 包,hap 包全称是 HarmonyOS Ability Package,其间包括了 ability、第三方库、资源和装备文件。其详细特点及其描绘可以参照下表 1。
特点 | 描绘 |
---|---|
name | 该标签标识当时 module 的名字,module 打包成 hap 后,表明 hap 的称号,标签值选用字符串表明(最大长度 31 个字节),该称号在整个运用要仅有。 |
type | 表明模块的类型,类型有三种,别离是 entry、feature 和 har。 |
srcEntry | 当时模块的进口文件途径。 |
description | 当时模块的描绘信息。 |
mainElement | 该标签标识 hap 的进口 ability 称号或许 extension 称号。只要装备为 mainElement 的 ability 或许 extension 才答应在服务中心露出。 |
deviceTypes | 该标签标识 hap 可以运转在哪类设备上,标签值选用字符串数组的表明。 |
deliveryWithInstall | 标识当时 Module 是否在用户自动装置的时候装置,表明该 Module 对应的 HAP 是否跟随运用一同装置。- true:自动装置时装置。- false:自动装置时不装置。 |
installationFree | 标识当时 Module 是否支撑免装置特性。- true:表明支撑免装置特性,且符合免装置约束。- false:表明不支撑免装置特性。 |
pages | 对应的是 main_pages.json 文件,用于装备 ability 中用到的 page 信息。 |
abilities | 是一个数组,寄存当时模块中一切的 ability 元才能的装备信息,其间可以有多个 ability。 |
对于 abilities 中每一个 ability 的特点项,其描绘信息如下表 2。
特点 | 描绘 |
---|---|
name | 该标签标识当时 ability 的逻辑名,该称号在整个运用要仅有,标签值选用字符串表明(最大长度 127 个字节)。 |
srcEntry | ability 的进口代码途径。 |
description | ability 的描绘信息。 |
icon | ability 的图标。该标签标识 ability 图标,标签值为资源文件的索引。该标签可缺省,缺省值为空。假如 ability 被装备为 MainElement,该标签必须装备。 |
label | ability 的标签名。 |
startWindowIcon | 发动页面的图标。 |
startWindowBackground | 发动页面的背景色。 |
visible | ability 是否可以被其他运用程序调用,true 表明可以被其它运用调用, false 表明不可以被其它运用调用。 |
skills | 标识可以接纳的目的的 action 值的调集,取值通常为体系预定义的 action 值,也答应自定义。 |
entities | 标识可以接纳的 Want 的 Action 值的调集,取值通常为体系预定义的 action 值,也答应自定义。 |
actions | 标识可以接纳 Want 的 Entity 值的调集。 |
main_pages.json
src/main/resources/base/profile/main_pages.json 文件保存的是页面 page 的途径装备信息,一切需求进行路由跳转的 page 页面都要在这儿进行装备。
总结
本文纯初体验鸿蒙操作运用开发,根据开发者平台提供的 IDE、鸿蒙生态的开发语言 ArkTS,经过模拟器运转起来了鸿蒙 OS 版 HelloWorld。对于现已有移动开发经验的同学来说上手可以说十分快,官方文档也十分详尽,ArkTS 语法也十分简练易学,假如大家对华为生态的运用开发感兴趣或许想深入学习学习华为做 OS 和物联网的思路,可以行动起来了。