Skip to content

快速开始

在线体验

如果你想先快速体验 HarmonyOS 开发,可以:

创建第一个 HarmonyOS 应用

前置条件

  • 熟悉命令行操作
  • 安装 Node.js(建议 LTS 版本)
  • 安装 DevEco Studio(官方 IDE)

步骤 1:安装 DevEco Studio

  1. 下载 DevEco Studio
  2. 安装并首次启动,自动下载 HarmonyOS SDK 和工具链
  3. 配置 Node.js 路径(如果未自动识别)

步骤 2:创建项目

打开 DevEco Studio:

  1. 点击 New Project
  2. 选择模板:Empty Ability(空白 Stage 模型应用)
  3. 填写项目信息:
    • Project name:项目名(如 HelloWorld)
    • Bundle name:唯一标识,格式如 com.example.myapp(上架后不可改)
    • Compatible SDK:最低支持的 API 版本
    • Compile SDK:编译用 API 版本
  4. 点击 Finish,DevEco 自动安装依赖并构建初始化

步骤 3:运行项目

bash
# 选择设备(模拟器或真机)
# 点击 ▶️ 运行 或 🐞 调试

你应该能看到第一个 HarmonyOS 应用运行起来!

Hello World 示例

创建项目后,默认的入口页面在 entry/src/main/ets/pages/Index.ets

typescript
@Entry
@Component
struct Index {
  @State message: string = 'Hello World'

  build() {
    Column() {
      Text(this.message)
        .fontSize(24)
        .fontWeight(FontWeight.Bold)
        .fontColor('#007DFF')

      Button('点击我')
        .margin({ top: 20 })
        .onClick(() => {
          this.message = 'Hello HarmonyOS!'
        })
    }
    .width('100%')
    .height('100%')
    .justifyContent(FlexAlign.Center)
  }
}

代码解析

代码说明
@Entry标记这是入口页面
@Component标记这是一个 UI 组件
struct Index定义组件结构体,名称可自定义
@State message: string声明状态变量,修改会自动刷新 UI
build()描述 UI 结构,必须有且只有一个根容器
Column()垂直布局容器
Text()文本组件
.fontSize(24)设置字体大小(属性方法链)
.onClick(() => {})点击事件处理

项目结构概览

HelloWorld/
├── AppScope/                     # 应用级配置
│   ├── app.json5                 # 应用配置:bundleName、版本号
│   └── resources/
│       └── base/
│           ├── element/string.json
│           └── media/app_icon.png
├── entry/                        # 主模块(HAP)
│   └── src/
│       ├── main/
│       │   ├── ets/              # ArkTS 源码
│       │   │   ├── entryability/
│       │   │   │   └── EntryAbility.ets
│       │   │   └── pages/
│       │   │       └── Index.ets
│       │   ├── resources/        # 资源文件
│       │   └── module.json5      # 模块配置
│       └── ohosTest/             # 测试代码
├── build-profile.json5           # 工程构建配置
└── oh-package.json5              # 依赖管理

下一步