别再问鸿蒙能不能学!零基础到上架,这份 OpenHarmony 路线图带你 5 步跑通(附真机实测)
别再问鸿蒙能不能学!零基础到上架,这份 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 是地上那栋漂亮的商用大楼;你学会盖地基,也能盖大楼。
这也是为什么本文必须同时打上 openharmony 和 harmonyOS 两个标签:开源路线(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 范式;基础组件(
Text、Button、Image、List、Column/Row);布局(弹性布局、层叠、栅格);状态管理(@State、@Prop、@Link、@Provide/@Consume)。 - 推荐资源:ArkUI 组件文档 + 官方"Codelabs"动手实验。
- 小成果:做一个「待办清单」或「计数器」页面,点击按钮数字变化。
阶段 3:Ability 与 Stage 模型
- 学什么:Stage 模型(当前主推)下的
UIAbility、AbilityStage、页面(pages)与组件生命周期(aboutToAppear/aboutToDisappear);module.json5里配置abilities与skills。 - 推荐资源:《Stage 模型开发指南》、Ability 生命周期示例。
- 小成果:实现「首页 → 详情页」页面跳转(这正是后面 Demo 的核心)。
阶段 4:分布式能力与原子化服务
- 学什么:分布式软总线、跨设备拉起、续接;元服务(原子化服务)——免安装、可流转的服务卡片。
- 推荐资源:分布式硬件/流转开发文档、元服务接入指南。
- 小成果:做一个能在手机和平板之间「流转」的卡片或任务。
阶段 5:实战项目 + 上架 / 参赛
- 学什么:工程化(模块化、
oh-package.json5依赖管理)、签名打包、上架应用市场;参赛材料(文档+视频+源码)。 - 推荐资源:DevEco Studio 一键打包、AGC(AppGallery Connect)上架流程。
- 小成果:一个能安装到设备、能在比赛里演示的完整应用。
环境搭建:给新手的一句开始
别被"环境"吓到,三步就够:
- 装 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 在测,新手先用稳定版更稳。
- 新建工程:
File → New → Create Project,选 Empty Ability 模板,Language 选 ArkTS,Model 选 Stage,Device 选 Phone/Tablet,Compile SDK 选 6.1.1(24)。 - 开模拟器:
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 条,每条都有解法)
-
API 版本混乱(API 12 / API 24 分不清)
解法:记住 API 12 属于早期 HarmonyOS NEXT 体系,API 24 = HarmonyOS 6.1.1(2026 年主流)。新建工程时Compile SDK统一选 6.1.1(24),别混用老教程的 API 12 配置。 -
modelVersion配置位置找错
解法:modelVersion写在工程根目录的build-profile.json5里(与compatibleSdkVersion/targetSdkVersion同文件),不是module.json5。 -
module.json5的 abilities / skills 配错
解法:abilities至少登记一个UIAbility,skills里actions: ["action.system.home"]+entities: ["entity.system.home"]才能作为桌面入口被启动;页面路由用routerMap指向$profile:route_map。 -
oh-package.json5里误声明依赖
解法:运行时依赖要放在dependencies,别塞进devDependencies;devDependencies只放构建/开发期工具,否则打包后运行期会找不到模块。 -
rawfile资源目录位置不对
解法:原生资源(图片/音频/字体等)放在src/main/resources/rawfile/下,用getRawFileContent读取;放错目录会被打包忽略。 -
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 仓库、有演示视频,比十个「精通」都管用。
给想入局鸿蒙的新手的建议
- 先跑通再深究:第一周目标不是懂原理,而是让一个 Demo 在模拟器上跑起来(见第七节)。
- 官方文档当字典:华为开发者联盟文档 + OpenHarmony 官网 + AtomGit 开源仓,遇到问题先查官方。
- 别在版本上内耗:认准 API 24 / HarmonyOS 6.1.1 这一代主流,老教程(API 12)仅作参考。
- 加入社区:CSDN 鸿蒙社区、AtomGit、各大高校鸿蒙社团,卡住时有人拉一把。
- 用硬件反哺理解:像小鸿AI 这种开源板,能让你"看见" OpenHarmony 怎么驱动真实芯片,理解会更深。
- 把"跑通"当里程碑,而不是终点:每跑通一个小 Demo,就截图、写一句心得发到社区/博客。日积月累,这就是你未来的作品集雏形,比临时抱佛脚准备面试强十倍。
- 别怕报错:新手 80% 的时间在和报错打交道。学会读红色日志、去官方文档搜错误码,本身就值钱——企业招的就是"遇到坑能自己爬出来"的人。
结语 + 点赞收藏话术 + 下篇预告
写到这里,你应该已经清楚:鸿蒙开发没有想象中那么高冷。ArkTS 好学、ArkUI 好写、模拟器好跑,开源硬件还能让你把代码变成会说话的实物。
如果这篇路线图帮到了你,点个赞 👍、收藏 ⭐、评论区留个「入坑」,让更多同学看到;关注我,下一篇手把手带你写。
下篇预告:《手把手带你做出第一个能上架的鸿蒙应用》——从工程结构、签名配置到 AGC 上架全流程,连「审核被拒怎么改」都给你列好。
更多推荐


所有评论(0)