别再问鸿蒙能不能学!零基础到上架,这份 OpenHarmony 路线图带你 5 步跑通(附真机实测)

摘要:本文为零基础学生和转行党量身打造一份 OpenHarmony 学习路线图。文章先厘清 HarmonyOS 与 OpenHarmony 的关系,再以「5 个阶段」拆解从 ArkTS 语法、ArkUI 界面、Ability 与 Stage 模型,到分布式能力与实战上架的完整路径;随后给出环境搭建三步法,并附上一个可运行的计数器 + 页面跳转 Demo 及真机实测。此外还整理了 6 条小白避坑指南、开源硬件「小鸿AI」的生态延伸,以及比赛 / 求职的落地用法,帮你把「零基础」走成「能交作品」。

主标签:openharmony | 副标签:harmonyOS
适用人群:在校学生 / 转行新手 / 零基础小白
阅读时长:约 12 分钟|建议收藏,跟着路线一步步走


开篇引子:为什么是现在,为什么是你

如果你是大二大三的学生,或者正打算转行进入软件行业,最近大概率被两个词刷过屏:鸿蒙OpenHarmony

这不是一阵风。HarmonyOS 已经是华为终端的主线操作系统,而 OpenHarmony 作为开源底座,正在从手机、平板走向汽车、家电、工业网关,乃至一块巴掌大的 AI 开发板。对开发者来说,这意味着三件事:

  • 就业窗口正在打开:大量 App、厂商、政企应用在做「鸿蒙原生」迁移,缺人,尤其缺肯从零学、能上手写的年轻人。
  • 比赛红利很实在:从校级鸿蒙赛到「开源鸿蒙大学生创新大赛」,奖金池高达百万级,而且明确鼓励「应用上架」。
  • 门槛比你想的低:只要你学过一点编程(哪怕只会 Python 打印 Hello World),就能顺着路线把第一个应用跑在真机/模拟器上。

所以这篇文章不是「劝你入坑」,而是把坑填平、把路标画好:从 ArkTS 语法到 ArkUI 界面,从 Ability 到分布式能力,再到我亲自在 MatePad Pro 13 模拟器上跑起来的第一个 Demo——一步一步,跟着走就行。

在这里插入图片描述


先搞清两个概念:HarmonyOS 与 OpenHarmony 到底啥关系

很多新手卡在第一步:我到底学 HarmonyOS 还是 OpenHarmony?答案是——两个都学,而且它们本就同源共生

  • OpenHarmony:由开放原子开源基金会孵化、华为捐赠的代码开源项目,是「开源底座」。你看到的系统能力、框架、驱动,源头都在这里。开源硬件(比如后面会讲的小鸿AI)跑的也是它。
  • HarmonyOS:华为面向消费者的商用发行版,在 OpenHarmony 之上叠加了华为的增强能力、服务与生态(如 HMS、应用市场)。我们平时在手机/平板上用的就是它。

一句话记忆:OpenHarmony 是地基,HarmonyOS 是地上那栋漂亮的商用大楼;你学会盖地基,也能盖大楼。

这也是为什么本文必须同时打上 openharmonyharmonyOS 两个标签:开源路线(OpenHarmony)教你底层与硬件生态,商用路线(HarmonyOS)带你进就业与变现市场。两条路,一篇文章,全收。


学习路线总览:5 个阶段,一张图看明白

我们把「零基础 → 能交作品」拆成 5 个阶段,每阶段一句话目标:

阶段 主题 一句话目标
阶段 1 基础语法 能读懂并写出 ArkTS / TypeScript 基础代码
阶段 2 ArkUI 声明式开发 组件 + 布局 + 状态搭出完整页面
阶段 3 Ability 与 Stage 模型 理解 UIAbility / Page / 生命周期,让应用「活」起来
阶段 4 分布式与原子化服务 玩转跨设备协同元服务(原子化服务)
阶段 5 实战 + 上架/参赛 做一个能跑、能上架、能写进简历的项目

在这里插入图片描述


逐阶段拆解:学什么、看什么、做出什么

阶段 1:基础语法(ArkTS / TypeScript)

  • 学什么:变量、函数、类、接口、泛型;ArkTS 在 TS 基础上加了静态类型强化声明式 UI 装饰器@Entry@Component@State 等)。
  • 推荐资源:华为官方《ArkTS 语言指南》、TypeScript 官方教程打底;DevEco Studio 内置示例工程。
  • 小成果:能独立写一个小函数,比如把摄氏温度转华氏,并在控制台/页面打印。
  • 学长提醒:ArkTS 不是"又一门新语言",它几乎就是 TypeScript 的超集,你以前学的 JS/TS 功底全部能复用。唯一要适应的,是把"命令式改 DOM"换成"声明式描述 UI"——这正是阶段 2 的事。这个阶段别钻牛角尖去背 API,把语法跑顺、报错能看懂,就够了。这关过了,你比一半半途而废的人走得都远。

阶段 2:ArkUI 声明式开发

  • 学什么声明式 UI 范式;基础组件(TextButtonImageListColumn/Row);布局(弹性布局、层叠、栅格);状态管理@State@Prop@Link@Provide/@Consume)。
  • 推荐资源:ArkUI 组件文档 + 官方"Codelabs"动手实验。
  • 小成果:做一个「待办清单」或「计数器」页面,点击按钮数字变化。

阶段 3:Ability 与 Stage 模型

  • 学什么Stage 模型(当前主推)下的 UIAbilityAbilityStage、页面(pages)与组件生命周期(aboutToAppear / aboutToDisappear);module.json5 里配置 abilitiesskills
  • 推荐资源:《Stage 模型开发指南》、Ability 生命周期示例。
  • 小成果:实现「首页 → 详情页」页面跳转(这正是后面 Demo 的核心)。

阶段 4:分布式能力与原子化服务

  • 学什么分布式软总线、跨设备拉起、续接;元服务(原子化服务)——免安装、可流转的服务卡片。
  • 推荐资源:分布式硬件/流转开发文档、元服务接入指南。
  • 小成果:做一个能在手机和平板之间「流转」的卡片或任务。

阶段 5:实战项目 + 上架 / 参赛

  • 学什么:工程化(模块化、oh-package.json5 依赖管理)、签名打包、上架应用市场;参赛材料(文档+视频+源码)。
  • 推荐资源:DevEco Studio 一键打包、AGC(AppGallery Connect)上架流程。
  • 小成果:一个能安装到设备、能在比赛里演示的完整应用。

环境搭建:给新手的一句开始

别被"环境"吓到,三步就够:

  1. 装 DevEco Studio:去华为开发者联盟官网下载 DevEco Studio 6.1.1 Release(版本号 6.1.1.300,2026/07/29 发布)。安装时 SDK 会自动捆绑安装配套版本(HarmonyOS SDK 6.1.1,基于 OpenHarmony SDK,对应 API 24)。

    说明:截至 2026-08,稳定版是 6.1.1(API 24);也有 DevEco Studio 26.0.0 Beta 在测,新手先用稳定版更稳。

  2. 新建工程File → New → Create Project,选 Empty Ability 模板,Language 选 ArkTSModel 选 StageDevice 选 Phone/TabletCompile SDK 选 6.1.1(24)
  3. 开模拟器Tools → Device Manager,新建一个 MatePad Pro 13 模拟器,系统选 HarmonyOS 6.1.1(API 24),启动即可。

常用命令思路(在终端里跑):

# 用 hvigor 构建 HAP 包(等价于 DevEco 的 Build)
hvigorw assembleHap

# 用 hdc 连接设备/模拟器,安装产物
hdc install entry-default-signed.hap

# 查看已连接设备
hdc list targets

新手提示:其实点 DevEco 右上角的 Run ▶ 就能一键编译+装到模拟器,上面命令是给你"进阶理解"用的。

在这里插入图片描述


第一个能跑的 Demo + 运行实测(硬核证明:项目真的能跑!)

下面带你写一个最小可运行应用:一个计数器按钮 + 一个「去下一页」按钮,点击能跳转。代码就是标准 ArkTS + ArkUI。

首页 pages/Index.ets

// 导入路由能力(来自 ArkUI 的 Kit)
import { router } from '@kit.ArkUI'

@Entry
@Component
struct Index {
  @State message: string = 'Hello HarmonyOS!'
  @State count: number = 0

  build() {
    Column({ space: 20 }) {
      Text(this.message)
        .fontSize(28)
        .fontWeight(FontWeight.Bold)

      Text(`点击次数:${this.count}`)
        .fontSize(20)

      Button('点我 +1')
        .width(160)
        .height(48)
        .onClick(() => {
          this.count++   // 状态变化,UI 自动刷新
        })

      Button('去下一页 →')
        .width(160)
        .height(48)
        .onClick(() => {
          router.pushUrl({ url: 'pages/Second' })
        })
    }
    .width('100%')
    .height('100%')
    .justifyContent(FlexAlign.Center)
  }
}

第二页 pages/Second.ets

import { router } from '@kit.ArkUI'

@Entry
@Component
struct Second {
  @State tip: string = '这是第二页 👋'

  build() {
    Column({ space: 20 }) {
      Text(this.tip)
        .fontSize(26)
        .fontWeight(FontWeight.Bold)

      Button('返回首页')
        .onClick(() => {
          router.back()
        })
    }
    .width('100%')
    .height('100%')
    .justifyContent(FlexAlign.Center)
  }
}

module.json5 里要登记这两个 page(节选):

{
  "module": {
    "abilities": [
      {
        "name": "EntryAbility",
        "srcEntry": "./ets/entryability/EntryAbility.ts",
        "skills": [
          {
            "entities": ["entity.system.home"],
            "actions": ["action.system.home"]
          }
        ]
      }
    ],
    "routerMap": "$profile:route_map"   // 页面路由表
  }
}

怎么跑起来(两种姿势):

  • 姿势 A(推荐新手):连上 MatePad Pro 13 模拟器,直接点 DevEco 的 Run ▶,应用自动装好并启动。
  • 姿势 B(命令行党)hvigorw assembleHap 打出 HAP,再 hdc install xxx.hap

🖼️ 插入图片|运行实测(证明能跑):上传 img_running_proof.png 后在此点「插入图片」替换本行
在这里插入图片描述


小白避坑指南(6 条,每条都有解法)

  1. API 版本混乱(API 12 / API 24 分不清)
    解法:记住 API 12 属于早期 HarmonyOS NEXT 体系,API 24 = HarmonyOS 6.1.1(2026 年主流)。新建工程时 Compile SDK 统一选 6.1.1(24),别混用老教程的 API 12 配置。

  2. modelVersion 配置位置找错
    解法:modelVersion 写在工程根目录的 build-profile.json5 里(与 compatibleSdkVersion/targetSdkVersion 同文件),不是 module.json5

  3. module.json5 的 abilities / skills 配错
    解法:abilities 至少登记一个 UIAbilityskillsactions: ["action.system.home"] + entities: ["entity.system.home"] 才能作为桌面入口被启动;页面路由用 routerMap 指向 $profile:route_map

  4. oh-package.json5 里误声明依赖
    解法:运行时依赖要放在 dependencies,别塞进 devDependenciesdevDependencies 只放构建/开发期工具,否则打包后运行期会找不到模块。

  5. rawfile 资源目录位置不对
    解法:原生资源(图片/音频/字体等)放在 src/main/resources/rawfile/ 下,用 getRawFileContent 读取;放错目录会被打包忽略。

  6. API 12 兼容性适配
    解法:若需兼容老设备,用 canIUse('SystemCapability.xxx')import 条件判断做特性检测;新项目直接面向 API 24 开发,减少降级分支。


OpenHarmony 生态的另一面:软件之外,还有开源硬件(小鸿AI 真机)

学完应用开发,你可能会问:OpenHarmony 只能写 App 吗?不是。 它已经从「应用到硬件」长成了完整生态,而最出圈的代表就是——小鸿AI

小鸿AI 是 AtomGit 上的全开源端侧 AI 开发板,几个硬核参数(来自官方 xiaohong.atomgit.com,以官网为准):

  • 主控:海思 WS63 芯片,RISC-V 32 位架构,主频最高 240MHz
  • 系统:原生适配 OpenHarmony 6.1 Release(轻量系统),搭载分布式软总线
  • 无线星闪 NearLink SLE 1.0 + Wi-Fi 6 + BLE 5.2 三网协同
  • 屏幕1.54 寸 TFT 彩屏(240×240),唤醒动画/表情交互一目了然
  • 语音:CI1302 语音 NPU,支持本地离线唤醒 + 云端大模型双链路
  • 开源程度:芯片驱动、板级 BSP、图形音频库、整机硬件资料全部公开,配套 14 套实操案例

它的意义在于:你用 OpenHarmony 写的 AI 对话伙伴,能直接跑在 RISC-V 开源硬件上,还能通过星闪去联动全屋智能设备。这正是 OpenHarmony「从软件到硬件、从手机到万物」的最佳注脚。

对在校学生和转行党来说,小鸿AI 还有一个被低估的价值:它把"操作系统课"变成了"看得见摸得着的项目"。你不必再对着抽象的进程、软总线、驱动概念发呆——拉一份开源工程,hb set xiaohong && hb build -f 编译,再 flash.sh 烧录进去,唤醒词一喊,屏幕亮起对话界面,灯和插座跟着响应。这种"从代码到实物"的闭环,是简历里极稀缺的硬核经历,也是比赛答辩时最吸睛的演示。换句话说,OpenHarmony 不只让你"写 App 找工作",更让你"玩硬件搞创新"——两条路都通,看你往哪走。

在这里插入图片描述

在这里插入图片描述


比赛 / 求职怎么用这份路线

打比赛:重点关注 「2026 开源鸿蒙大学生创新大赛」(原 OpenHarmony 竞赛训练营,由开源鸿蒙项目群技术指导委员会主办、AtomGit 承办)。它分三大赛道:

  • 赛道一|系统与技术创新(啃底层内核/驱动/框架)
  • 赛道二|开源鸿蒙 PC 专项积分赛(三方库适配)
  • 赛道三|校园与创新应用(要求完成应用开发并上架

其中赛道三评审看「商业价值 40 + 创新性 30 + 完成度 20 + 规范性 10」,报名窗口约为 2026/07/08–09/15(以官网为准)。你照着本文路线做出来的项目,正好对口赛道三。

写简历:别只写「熟悉 HarmonyOS」,要写成果导向

「独立开发基于 ArkTS/ArkUI 的 XX 应用,使用 Stage 模型实现页面流转,已上架鸿蒙应用市场 / 获开源鸿蒙大赛 X 奖」。
有上架链接、有 GitHub/AtomGit 仓库、有演示视频,比十个「精通」都管用。


给想入局鸿蒙的新手的建议

  1. 先跑通再深究:第一周目标不是懂原理,而是让一个 Demo 在模拟器上跑起来(见第七节)。
  2. 官方文档当字典:华为开发者联盟文档 + OpenHarmony 官网 + AtomGit 开源仓,遇到问题先查官方。
  3. 别在版本上内耗:认准 API 24 / HarmonyOS 6.1.1 这一代主流,老教程(API 12)仅作参考。
  4. 加入社区:CSDN 鸿蒙社区、AtomGit、各大高校鸿蒙社团,卡住时有人拉一把。
  5. 用硬件反哺理解:像小鸿AI 这种开源板,能让你"看见" OpenHarmony 怎么驱动真实芯片,理解会更深。
  6. 把"跑通"当里程碑,而不是终点:每跑通一个小 Demo,就截图、写一句心得发到社区/博客。日积月累,这就是你未来的作品集雏形,比临时抱佛脚准备面试强十倍。
  7. 别怕报错:新手 80% 的时间在和报错打交道。学会读红色日志、去官方文档搜错误码,本身就值钱——企业招的就是"遇到坑能自己爬出来"的人。

结语 + 点赞收藏话术 + 下篇预告

写到这里,你应该已经清楚:鸿蒙开发没有想象中那么高冷。ArkTS 好学、ArkUI 好写、模拟器好跑,开源硬件还能让你把代码变成会说话的实物。

如果这篇路线图帮到了你,点个赞 👍、收藏 ⭐、评论区留个「入坑」,让更多同学看到;关注我,下一篇手把手带你写。

下篇预告:《手把手带你做出第一个能上架的鸿蒙应用》——从工程结构、签名配置到 AGC 上架全流程,连「审核被拒怎么改」都给你列好。


Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐