一、ArkTS 简介
ArkTS 是华为为 HarmonyOS(鸿蒙操作系统)量身打造的声明式编程语言,基于 TypeScript 扩展而来,专为构建高性能、高可靠性的分布式应用而设计。它兼容 TypeScript 的大部分语法,并针对鸿蒙生态增加了声明式 UI 能力、状态管理机制和并发模型等特性。
优势:
- 类型安全,提升开发效率
- 声明式 UI,代码更简洁直观
- 与鸿蒙系统深度集成,支持一次开发多端部署
二、开发环境准备
- 安装 DevEco Studio(鸿蒙官方 IDE)
- 创建新项目时选择 “Application > Empty Ability (ArkTS)”
- 确保 SDK 和编译工具链为最新版
提示:ArkTS 项目结构中,UI 逻辑通常写在 .ets 文件中(如 MainPage.ets)
三、ArkTS 核心语法详解
1. 基础类型与变量声明
typescript
let name: string = 'HarmonyOS';
const age: number = 5;
let isActive: boolean = true;
- 支持 string、number、boolean、array、object 等 TS 基础类型
- 推荐使用 const/let,避免 var
2. 函数定义
typescript
function greet(name: string): string {
return Hello, ${name}!;
}
// 箭头函数
const add = (a: number, b: number): number => a + b;
3. 类与接口(面向对象)
typescript
interface IUser {
name: string;
age: number;
}
class User implements IUser {
constructor(public name: string, public age: number) {}
}
四、声明式 UI(Declarative UI)
这是 ArkTS 最核心的特性之一!UI 以组件树形式声明,响应式更新。
示例:一个简单页面
typescript
@Entry
@Component
struct MainPage {
@State message: string = 'Hello ArkTS!';
build() {
Column() {
Text(this.message)
.fontSize(30)
.fontWeight(FontWeight.Bold)
Button('Click Me')
.onClick(() => {
this.message = 'Button Clicked!';
})
}
.width('100%')
.height('100%')
.justifyContent(FlexAlign.Center)
}
}
关键装饰器说明:
| 装饰器 | 作用 |
|---|---|
| @Entry | 标记应用入口组件 |
| @Component | 定义可复用 UI 组件 |
| @State | 组件内部状态,值变化自动触发 UI 刷新 |
| @Prop / @Link | 父子组件间状态传递 |
| @StorageLink / @StorageProp | 与 AppStorage 全局状态联动 |
五、状态管理
1. 局部状态:@State
typescript
@State count: number = 0;
修改 count 会自动重绘 UI。
2. 父子通信:@Prop(单向) vs @Link(双向)
typescript
// 父组件
@State parentValue: string = 'Parent';
ChildComponent({ value: this.parentValue }) // @Prop
ChildComponent({ $value: $parentValue }) // @Link(带 $ 符号)
3. 全局状态:AppStorage
typescript
// 初始化全局状态
AppStorage.SetOrCreate('themeColor', '#007DFF');
// 在组件中使用
@StorageLink('themeColor') themeColor: string;
六、常用内置组件
| 组件 | 用途 |
|---|---|
| Text | 显示文本 |
| Button | 按钮 |
| Image | 图片 |
| Column / Row | 布局容器(垂直/水平) |
| List / ListItem | 列表 |
| TextInput | 输入框 |
所有组件都支持链式调用属性方法(如 .width()、.backgroundColor())
七、生命周期(组件级别)
typescript
aboutToAppear() {
// 组件即将显示
}
aboutToDisappear() {
// 组件即将销毁
}
**注意:**ArkTS 不使用传统 Android/iOS 的 Activity 生命周期,而是基于组件的声明式生命周期。
八、调试与最佳实践
使用 console.log() 输出调试信息(在 DevEco Log 面板查看)
避免在 build() 中执行复杂逻辑(应移至 aboutToAppear 或方法中)
尽量使用 @State + 响应式更新,而非手动操作 DOM(无 DOM!)
九、下一步学习建议
- 学习 自定义组件 封装
- 掌握 Navigation 路由跳转
- 了解 TaskPool 和 Worker 实现并发
- 实践 多设备适配(手机、平板、手表等)
十、结语
ArkTS 是鸿蒙生态的未来语言,其声明式范式极大简化了 UI 开发。掌握其核心语法与状态驱动思想,是成为合格鸿蒙开发者的基石。代码即 UI,状态即逻辑——拥抱声明式,开启高效开发之旅!
推荐学习:《鸿蒙原生开发工程师(6.0)》
随时随地看视频