2  第1章:ArkTS简介与开发环境搭建

3 第1章:ArkTS简介与开发环境搭建

3.1 🎯 学习目标

  • 了解HarmonyOS与ArkTS的关系
  • 理解ArkTS的语言特性
  • 掌握DevEco Studio的安装与配置
  • 创建并运行第一个ArkTS应用

3.2 1.1 HarmonyOS与ArkTS简介

3.2.1 📱 HarmonyOS概述

HarmonyOS(鸿蒙操作系统)是华为自主研发的分布式操作系统,具有以下核心特性:

特性 说明
分布式架构 跨设备协同,多设备融为一体
原子化服务 免安装,即点即用
流畅体验 确定性调度,低时延
安全可靠 多层次安全机制

3.2.2 🔷 ArkTS语言简介

ArkTS是HarmonyOS优选的主力应用开发语言,基于TypeScript扩展而来。

graph LR
    JS[JavaScript] --> TS[TypeScript]
    TS --> ArkTS[ArkTS]
    ArkTS --> ArkUI[ArkUI框架]
    ArkUI --> App[HarmonyOS应用]
    
    style ArkTS fill:#C02020,color:#fff
    style ArkUI fill:#0066CC,color:#fff

ArkTS的核心优势:

  1. 自然流畅的声明式UI:通过简洁的UI描述语法,让界面开发更直观
  2. 强大的类型系统:静态类型检查,提前发现错误
  3. 高性能运行时:方舟编译器AOT优化,执行效率更高
  4. 丰富的状态管理:多种装饰器支持复杂状态场景
  5. 完善的生态:完整的HarmonyOS API支持

3.2.3 🆚 ArkTS与TypeScript/JavaScript对比

特性 JavaScript TypeScript ArkTS
类型系统 动态类型 静态类型(可选) 静态类型(强制)
UI范式 命令式 命令式 声明式
状态管理 需第三方库 需第三方库 内置装饰器
编译方式 解释执行 编译为JS AOT/JIT混合
运行环境 浏览器/Node.js 浏览器/Node.js 方舟运行时

3.3 1.2 开发环境搭建

3.3.1 🛠️ 系统要求

Windows系统: - 操作系统:Windows 10 64位 / Windows 11 - 内存:建议16GB及以上 - 硬盘:至少10GB可用空间 - 分辨率:1280×800及以上

macOS系统: - 操作系统:macOS 12.0及以上 - 内存:建议16GB及以上 - 硬盘:至少10GB可用空间

3.3.2 📥 安装DevEco Studio

DevEco Studio是HarmonyOS的官方集成开发环境(IDE),基于IntelliJ IDEA定制。

安装步骤:

  1. 访问华为开发者联盟官网下载页面
  2. 下载DevEco Studio最新版本
  3. 运行安装程序,按向导完成安装
  4. 首次启动时会自动下载SDK和工具链

🖥️ 开发环境检查清单

请确认你的开发环境满足以下要求:

3.4 1.3 创建第一个ArkTS应用

3.4.1 🚀 新建项目

  1. 打开DevEco Studio,点击 Create Project
  2. 选择模板:ApplicationEmpty Ability
  3. 填写项目信息:
配置项 说明 示例值
Project name 项目名称 MyFirstApp
Bundle name 应用包名 com.example.myfirstapp
Save location 项目保存路径 D:
Compile SDK 编译SDK版本 12.0.0
Model 应用模型 Stage模型(推荐)
Language 开发语言 ArkTS

3.4.2 📁 项目结构说明

MyFirstApp/
├── AppScope/              # 应用全局配置
│   ├── app.json5          # 应用配置
│   └── resources/         # 全局资源
├── entry/                 # 主模块
│   ├── src/main/          
│   │   ├── ets/          # ArkTS源代码
│   │   │   ├── entryability/  # 入口Ability
│   │   │   └── pages/    # 页面目录
│   │   │       └── Index.ets   # 首页
│   │   ├── resources/    # 模块资源
│   │   └── module.json5  # 模块配置
│   └── test/             # 单元测试
├── oh_modules/           # 依赖模块
└── build-profile.json5   # 构建配置

Ability是什么?

Ability是HarmonyOS应用的基本组成单元,分为: - UIAbility:有界面的能力,对应一个应用窗口 - ExtensionAbility:特定场景的能力(如分享、画中画等)

3.4.3 ✏️ 第一个ArkTS程序

打开 entry/src/main/ets/pages/Index.ets,你会看到以下代码:

// Index.ets - 应用首页
@Entry
@Component
struct Index {
  @State message: string = 'Hello World'

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
      }
      .width('100%')
    }
    .height('100%')
  }
}

代码解析:

代码片段 说明
@Entry 标记当前组件为页面入口
@Component 标记当前结构体为自定义组件
struct Index 定义组件结构体(类似类)
@State message 状态变量,变化时自动刷新UI
build() { ... } 组件的UI描述方法(声明式)

3.4.4 ▶️ 运行应用

使用模拟器运行:

  1. 点击工具栏 Device Manager
  2. 创建或启动一个模拟器
  3. 选择目标设备,点击 Run

使用真机运行:

  1. 手机开启开发者模式
  2. 启用USB调试
  3. 连接电脑,授权调试
  4. 点击 Run

3.5 1.4 ArkTS核心概念

3.5.1 🧩 声明式UI

ArkTS采用声明式UI范式,用代码描述”想要什么界面”,而不是”怎么去绘制界面”。

命令式UI(传统方式)

// 先创建对象
const text = new Text('Hello');
// 再设置属性
text.setFontSize(30);
text.setFontColor('#000000');
// 最后添加到界面
container.addView(text);

需要一步步操作UI组件

声明式UI(ArkTS方式)

// 直接描述想要的界面
Text('Hello')
  .fontSize(30)
  .fontColor('#000000')

直接描述最终界面状态

3.5.2 🔄 状态驱动UI更新

ArkTS的核心思想是:状态变化自动驱动UI更新

// 状态变量
@State count: number = 0

// UI描述(自动关联状态)
Text(`计数:${this.count}`)
  .fontSize(30)

// 按钮点击修状态
Button('增加')
  .onClick(() => {
    this.count++  // 修改状态后,UI自动更新!
  })

🎮 互动演示:状态驱动UI

点击按钮,观察状态变化如何自动更新UI:

// ArkTS代码示例
@Entry
@Component
struct Demo {
  @State count: number = 0

  build() {
    Column() {
      Text(`计数:${this.count}`)
        .fontSize(30)
        .fontColor('#FFFFFF')
      
      Button('增加 +1')
        .onClick(() => { this.count++ })
    }
  }
}
计数:0

3.6 📝 本章小结

本章我们学习了:

  1. HarmonyOS与ArkTS的关系:ArkTS是HarmonyOS的优选开发语言
  2. ArkTS的优势:声明式UI、强类型、高性能、丰富的状态管理
  3. 开发环境搭建:DevEco Studio的安装与配置
  4. 第一个应用:创建并运行Hello World程序
  5. 核心概念:声明式UI和状态驱动UI更新

3.7 ✏️ 练习

  1. 安装DevEco Studio并创建一个Empty Ability项目
  2. 修改Index.ets,将”Hello World”改为你的名字
  3. 添加一个按钮,点击后修改文字内容
  4. 尝试在模拟器或真机上运行你的应用

3.8 📚 参考资料