什么是 HarmonyOS?
HarmonyOS(鸿蒙操作系统)是华为公司开发的一款基于微内核的分布式操作系统。它是一个面向物联网(IoT)时代的全场景操作系统,旨在为各种类型的设备提供统一的操作系统平台和开发框架。HarmonyOS 的目标是实现跨设备的无缝协同和高性能。
对标 Android Studio,开发鸿蒙 OS 应用的 IDE。
启动页面
Setup
HarmonyOS-SDK:鸿蒙操作系统软件开发工具包
- Previewer:预览器
- Toolchains:工具链
OpenHarmony-SDK:开源鸿蒙操作系统软件开发工具包
- ArkTS:鸿蒙生态的应用开发语言。
- JS:JavaScript
- Previewer:预览器
- Toolchains:工具链
Create Project
配置工程
项目名称、包名、存储路径、编译 SDK 版本、模型,语言、设备类型等。
工程目录结构
- AppScope:存放应用全局所需要的资源文件。
- entry:应用主模块,存放 HarmonyOS 应用的代码、资源等。
- on_modules:工程依赖包,存放工程依赖的源文件。
- build-profile.json5 是工程级配置信息,包括签名、产品配置等。
- hvigorfile.ts 是工程级编译构建任务脚本,hvigor 是基于任务管理机制实现的一款全新的自动化构建工具,主要提供任务注册编排,工程模型管理、配置管理等核心能力。
- oh-package.json5 是工程级依赖配置文件,用于记录引入包的配置信息。
Device Manager
创建好的模拟器会出现在这里。
启动模拟器之后,会在设备列表中出现。
编译运行
编译运行,可以从通知栏看到输出的文件并不是 apk,而是 hap(Harmony Application Package 的缩写)。是鸿蒙操作系统设计的应用程序包格式。
.hap 文件包含了应用程序的代码、资源和元数据等信息,用于在 HarmonyOS 设备上安装和运行应用程序。
整体开发流程跟 Android 基本无差,所以熟悉 Android 开发的同学上手基本没啥难度。
ArkTS
ArkTS 是鸿蒙生态的应用开发语言。它在保持 TypeScript(简称 TS)基本语法风格的基础上,对 TS 的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式 UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。https://developer.harmonyos.com/cn/develop/arkts/
最简单例子:
@Entry
@Component
struct Index {
@State message: string = 'Hello World'
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
}
.width('100%')
}
.height('100%')
}
}
复制代码
看起来非常简洁,采用的是声明式 UI,写过 Flutter 的同学对声明式 UI 应该不会陌生。从最简单的例子初步了解下基本语法:
- 装饰器 ,用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如 @Entry、@Component、@State 都是装饰器。
- 自定义组件 :可复用的 UI 单元,可组合其他组件,如上述被 [url=home.php?mod=space&uid=223711]@component[/url] 装饰的 stuct Index。
- UI 描述 :以声明式的方式来描述 UI 的结构,如上述的 build()方法中的代码块。
- 系统组件 :ArkUI 框架中默认内置的基础和容器组件,可直接被开发者调用,比如示例中的 Row、Column、Text。
- 属性方法 :组件可以通过链式调用配置多项属性,如 fontSize()、width()、height()、backgroundColor()等。
- 事件方法 :组件可以通过链式调用设置多个事件的响应逻辑,本例代码不涉及,可以进一步学习文档。
这里就不是 Android 熟悉的 java 或 kotlin 语言了,编程语言变成了类 JavaScript 的前端语言,这意味着我们需要适应用前端的思想去开发鸿蒙应用,比如状态管理。
总结
本文纯初体验遥遥领先背后的鸿蒙操作系统,基于开发者平台提供的 IDE、鸿蒙生态的开发语言 ArkTS,通过模拟器运行起来了鸿蒙 OS 版 HelloWorld。对于已经有移动开发经验的同学来说上手可以说非常快,官方文档也非常详尽,ArkTS 语法也非常简洁易学,如果大家对华为生态的应用开发感兴趣或者想深入学习借鉴华为做 OS 和物联网的思路,鸿蒙系统就是一个标杆。
转自【巫山老妖】
|