继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

ArkTS 核心语法全揭秘,新手也能写出专业级鸿蒙应用!

番茄炒代码
关注TA
已关注
手记 11
粉丝 7
获赞 7

一、ArkTS 简介

ArkTS 是华为为 HarmonyOS(鸿蒙操作系统)量身打造的声明式编程语言,基于 TypeScript 扩展而来,专为构建高性能、高可靠性的分布式应用而设计。它兼容 TypeScript 的大部分语法,并针对鸿蒙生态增加了声明式 UI 能力、状态管理机制和并发模型等特性。

优势:

  • 类型安全,提升开发效率
  • 声明式 UI,代码更简洁直观
  • 与鸿蒙系统深度集成,支持一次开发多端部署

二、开发环境准备

  1. 安装 DevEco Studio(鸿蒙官方 IDE)
  2. 创建新项目时选择 “Application > Empty Ability (ArkTS)”
  3. 确保 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!)

九、下一步学习建议

  1. 学习 自定义组件 封装
  2. 掌握 Navigation 路由跳转
  3. 了解 TaskPool 和 Worker 实现并发
  4. 实践 多设备适配(手机、平板、手表等)

十、结语

ArkTS 是鸿蒙生态的未来语言,其声明式范式极大简化了 UI 开发。掌握其核心语法与状态驱动思想,是成为合格鸿蒙开发者的基石。代码即 UI,状态即逻辑——拥抱声明式,开启高效开发之旅!

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP