这不是一篇技术文档,而是我作为一个在 2026 年真正写过鸿蒙应用的人,想跟后来的你说的话。
一、先说一个残酷的真相:你面对的不是"蓝海"
很多人告诉你,2026 年鸿蒙生态正在爆发,原生应用数量突破 580 万款,设备激活量超过 3.5 亿台。华为开发者联盟的活跃开发者数量在持续增长,HarmonyOS NEXT 已经彻底剥离了 AOSP 代码,DevEco Studio 来到了 5.0 时代。
这些话全都是真的。
但真正的真相是:那些说"现在学鸿蒙就是风口"的人,不会告诉你,580 万款应用里,真正被人打开的不到 5%。不会告诉你,一个没有任何背景的新人,拿着自己用 ArkTS 写的第一款应用去上架,很有可能在第一周就收到零下载的沉默。
这不是在打击你。相反,我觉得每一个想清楚这件事之后还决定继续的人,才值得真正地往下走。
2026 年的鸿蒙生态,早已不是 2024 年那个"只要上架就有流量扶持"的草莽时代。HarmonyOS 6.1 已经在 Pura 80 系列上推送,系统打磨得越来越精致,用户的审美和期待也在水涨船高。这个生态从"有没有"进入了"好不好用"的阶段。换句话说,你现在面对的竞争是真实的,不是概念性的。
可这就是真正值得入场的时候。因为只有在"真竞争"里做出来的东西,才配得上叫"作品"。
二、ArkTS 到底是什么?它为什么不是"会 TypeScript 就能写"
我遇到过太多人,他们看了两节 TypeScript 的网课,听说 ArkTS 基于 TS,就觉得"这玩意儿我应该很快就能上手"。结果真打开 DevEco Studio,面对@Entry、@Component、@State这一整套声明式语法的时候,懵了。
因为 ArkTS 本质上不是"TypeScript 的一个超集"这么简单。它是一套为鸿蒙全场景设计的方法论。你在 ArkTS 里写的每一行 UI 代码,背后都在回答一个系统级的问题:这个组件如何在手机、平板、智慧屏、手表、车机之间自适配?这个状态如何在 Ability 的生命周期里正确流转?这个动效如何在 60fps 以下不丢帧?
这些东西,你学 TS 的时候没人会教你。
我的建议是:不要先学 TypeScript,再学 ArkUI,再学 ArkTS。这种"先打地基再盖楼"的思路在技术学习上是对的,但在鸿蒙开发这件事上,效率极低。你要做的第一件事,是直接打开 DevEco Studio,新建一个 Empty Ability 工程,什么都不改,把它跑在模拟器上。然后盯着这个空白的 Hello World 发呆,去想:这个 Entry 是什么意思?为什么 build() 函数返回的是一个 Column 而不是 HTML?这个@State如果换成普通的 let,会发生什么?
从问题出发,而不是从知识列表出发。鸿蒙的文档写得足够好,但你只有在被一个问题卡住、然后去找答案的时候,那些文档才真正属于你。
三、你真的要学什么?一个不是清单的清单
我不想给你列"第一周到第四周学这个、第五周学那个"的计划表。那种东西你随便搜一搜到处都是,没什么用。我想跟你说的是,做一个能用的鸿蒙应用,到底需要理解哪几件事。
理解 Stage 模型,不只是背生命周期
Stage 模型是鸿蒙应用架构的核心。onCreate、onForeground、onBackground、onDestroy——这四个生命周期谁都背得下来。但真正重要的是:你的应用在什么时候活着、什么时候只是假装活着、什么时候彻底死了。
我第一款应用是一个习惯打卡工具。我花了整整两周才搞清楚为什么用户切到后台再回来,计数器归零了。因为我在 onBackground 里没保存状态,在 onDestroy 里没做持久化。这些坑,你看一百遍生命周期流程图都躲不掉,只有自己的应用真的死在你面前一次,你才会记住。
理解状态管理,因为 UI 的本质就是状态的镜像
ArkTS 的状态管理机制——@State、@Prop、@Link、@Provide、@Consume——很多人学的时候当成"语法特性"去记。但这是错的。它们其实是一套关于"数据应该放在哪里、谁来修改、谁应该自动更新"的设计哲学。
你第一个应用不用搞懂所有状态装饰器。但你一定要想清楚一件事:这个变量,是只属于这个组件的,还是需要从父组件传下来的?是需要双向同步的,还是只读就够了?当你在每个变量声明前都能本能地问自己这个问题的时候,你就已经比 80% 的初学者走得更远了。
理解"一次开发,多端部署"不是魔法
鸿蒙最大的卖点之一就是跨设备。但很多人以为"我写一套代码,系统自动适配手机和平板"。这不是真的。
系统确实做了很多适配工作,比如栅格系统、断点响应。但一个在手机屏幕上合理的按钮布局,放到智慧屏上可能就是灾难——不是因为系统没适配,而是因为你设计的交互逻辑本身就没考虑大屏。你要学的不只是GridRow和GridCol怎么用,而是真的去想一想:用户在手表上怎么操作?在车机上怎么点击?在平板横屏时信息流应该怎么排列?
这是产品设计思维,不是纯技术问题。但它决定了你的应用是不是只是一个"能运行的 demo"。
四、那张吓人的知识树,到底该怎么爬
你可能已经看到了鸿蒙官方认证的考试大纲——15 个大类、上百个子知识点,从 ArkTS 基础类库到 CANN 异构计算框架,从文件系统到 AR 引擎。我第一次看到这张图的时候,说实话,心里只有一个字:逃。
但我后来发现,这张图并不是"你必须全部学会才能写应用"的清单。它更像是一张城市的完整地图——你不需要记住每一条小巷,你只需要知道主路在哪里、什么时候该拐进哪条支路。
让我用做过几款应用之后的真实体感,把这张知识树拆开聊聊。
4.1 四层分法:不是所有知识点都生来平等
我把这 15 大类分成了四层。这不是什么权威的分法,但它是我踩过坑之后觉得最实用的认知框架。
第一层:你第一天就躲不掉的(应用框架 + 构建调试)
ArkTS 语言本身、ArkUI 声明式开发、Ability Kit 的 Stage 模型——这三样是鸿蒙开发的"吃饭家伙"。你写任何一个应用,哪怕只是一个按钮一个文本框,都在和它们打交道。没有捷径,必须拿下。
但这里有一个很容易犯的错:很多人在 ArkTS 基础类库和运行时上花太多时间,想把每一个 API 都看一遍。别这么做。你只需要搞清楚 ArkTS 和标准 TypeScript 的关键差异——静态类型更严格、没有原型链某些写法、并发模型用的是 TaskPool 而不是 Web Worker——然后直接去写 UI。语言细节会在你写代码的过程中自然补齐。
构建工具链(hvigorw)和包管理(ohpm)也不需要专门学。你创建第一个工程的时候就会碰到ohpm install,遇到依赖冲突的时候自然会去查怎么锁版本。这些是"用着用着就会了"的东西,不是"学完才能开始"的东西。
第二层:你的应用大概率会用到的(数据、网络、文件、通知、测试)
ArkData 的数据持久化——这是大多数应用都需要的。用户的数据存哪里?用 Preferences 还是关系型数据库还是分布式数据?我第一款打卡应用用的就是 Preferences,因为它简单,存的就是键值对。后来做第二款应用需要复杂查询了,才去学了 RDB。不要提前学你暂时不需要的东西。
Network Kit 是另一个"几乎一定会碰到"的模块。但大多数场景下,你只需要会发起 HTTP 请求、处理 JSON 响应就够了。短距通信、分布式服务这些,等你的应用真的需要"手机和手表联动"的时候再去碰。
Notification Kit 也是。你不需要第一天就搞懂所有通知类型,但应用上架时,推送通知几乎是标配。先学会最基本的通知创建和权限申请,其他的按需深入。
应用测试这一块,我当初也忽略了。觉得"我又不是大厂,写什么单元测试"。后来上架前跑了一遍兼容性测试,发现两个致命的适配问题——如果早点写几个基础测试用例,就不会浪费那两天。所以我的建议是:哪怕只写三个测试用例(启动正常、核心功能正常、数据保存正常),也比零测试强一万倍。
第三层:看你的应用类型决定学不学(媒体、图形、AI、应用服务)
这一层的东西特别多,从相机、音频、编解码到 AR 引擎、3D 图形,从支付、地图、推送到语音识别、人脸检测、RAG 检索。
它们有一个共同特点:如果你的应用不用,你完全不需要学。
做工具类应用的人,可能一辈子都不需要碰 Camera Kit 和 AVCodec Kit。做社交应用的人,可能需要 Push Kit 和 Share Kit 但不需要 Map Kit。做电商应用的人,需要 IAP Kit 和 Location Kit 但不需要 AR Engine。
唯一一个 2026 年我觉得每个开发者都应该"至少了解在做什么"的是 AI 那一大块。不是因为你的第一个应用就要集成 AI,而是因为鸿蒙在 2026 年把 AI 能力深度嵌入到了系统层——Agent Framework Kit、Intents Kit 的习惯推荐、DevEco Studio 的智能辅助编程。你不一定要会训练模型,但你应该知道系统能帮你做什么。
第四层:专门领域的深水区(NDK、自由流转、多端部署、性能调优)
NDK 开发(C/C++ 与 ArkTS 的交互)是很多人觉得"高级"的东西。确实高级,但对于你的前三个应用来说,大概率用不到。除非你在做音视频处理、游戏引擎这类对性能有极致要求的场景,否则 ArkTS 本身的性能已经够用了。
自由流转(跨端迁移、多端协同)和多端部署是鸿蒙最有特色的能力之一。但说句大实话:你的第一个应用不需要支持流转。把手机端做好,比把一个半成品同时铺到手机、平板、手表上有价值得多。
性能调优(DevEco Profiler)是你应用做完之后才需要关心的事。先让它跑起来,再让它跑得快。这个顺序不能反。
4.2 考试知识树 vs. 真实开发:两套逻辑
如果你在准备鸿蒙官方认证考试,那上面的知识树你需要系统地过一遍。考试的逻辑是"覆盖面优先"——它要考察你对整个平台能力的了解程度,哪怕有些东西你工作中永远不会用到。
但如果你是"想做一款自己的应用"的新人,学习逻辑完全不同:需求驱动,用到了再学,学了就能用上。
这不是说考试没有用。恰恰相反,系统过一遍考试大纲,能帮你建立一个完整的知识地图——你知道鸿蒙平台能做什么、有哪些能力可以调用。这个"全景视野"在你设计应用功能的时候会发挥巨大作用。
所以如果问我推荐的节奏,大概是这样:
第一步:学第一层(1-2 周),同时开始写你的第一个应用。不要等"学完"再动手。学和做同时进行,效率最高。
第二步:在做应用的过程中,按需从第二层和第三层抽取你需要的知识点。需要存数据就去学 ArkData,需要网络请求就去学 Network Kit,需要推送就去学 Push Kit。
第三步:应用做完并上架之后,回头系统过一遍考试大纲。这时候你的感受完全不一样——那些你用过的知识点会秒懂,那些没用过的也能因为有了实际开发经验而理解得更快。
第四步:如果打算认证,集中刷题冲刺。有了前三步的基础,备考效率会比零基础直接刷题高得多。
4.3 一个容易被忽略的事:配置与发布也是"开发"
大纲里有两个类别很容易被新人无视——“构建应用”(配置文件、混淆加固)和"发布应用"。
我当初就忽略了。觉得"写完代码不就完了吗"。结果到了上架那天才发现:签名配置不会弄、隐私协议格式不对、混淆规则写错了导致运行时崩溃、应用图标和启动页的尺寸规范没看……
这些"非代码"的工作,大概会占你从"代码写完"到"成功上架"之间 60% 的时间。别像我一样,代码写完了以为大功告成,结果在发布环节卡了三周。
4.4 关于 AI 知识点的一点个人看法
2026 年的考试大纲里,AI 部分占了整整一个大类——智能辅助编程、Agent Framework、CANN 异构计算、语音识别、文字识别、意图推荐、自然语言理解……光看名字就觉得头皮发麻。
但这里有一个很多人没意识到的变化:AI 不再是"锦上添花"的选学内容,它正在变成鸿蒙开发的基础设施。
DevEco Studio 5.0 的智能辅助编程已经能帮你生成代码、分析编译错误、自动写测试用例。如果你不用这些能力,不是你在"专注手动编写",而是你在浪费工具链已经为你准备好的生产力。这就像 2026 年还有人坚持用记事本写代码一样——你可以,但没必要。
Agent Framework Kit 和 Intents Kit 更值得你花一点时间了解。鸿蒙的"小艺"智能体正在成为系统级交互入口,你的应用如果接入了意图框架,用户就能通过语音和智能推荐直接触达你的应用功能。这在 2024 年还是锦上添花,2026 年已经开始影响应用的分发和曝光了。
至于 CANN 异构计算、MindSpore Lite 这类底层 AI 框架,除非你在做端侧推理相关的应用,否则"知道它们存在、大概能做什么"就足够了。不必深入。
五、怎么做第一款应用?别从"我想做一个 APP"开始
我见过太多人的第一款应用死于"想法太大"。
“我想做一个社交 APP,有即时通讯、有动态发布、有附近的人、有支付功能。”——这种项目在 2026 年的鸿蒙生态里,如果你有两个人全职做,大概需要八个月。如果你一个人兼职做,可能永远做不完。
你的第一款应用,应该从一个你真正遇到的、很小的问题开始。
比如我那个习惯打卡工具,起源是我自己想每天喝水八杯,但没有一个鸿蒙原生的打卡应用让我满意。它们的界面要么太复杂,要么广告太多。我就想:那我能不能自己写一个?只有一个页面,一个按钮点一下记录今天喝了一杯,一个进度条显示今天的完成情况,再加一个简单的统计页。就这样。
从有这个想法到真正跑在手机上,我花了三个周末。从跑在手机上到自己觉得"能用",又花了一个月。从"能用"到上架应用市场,又花了一个月修 bug、调 UI、写隐私协议。
这个过程里,我学到了什么?
我学到了怎么在 ArkTS 里用persistentStorage保存数据,怎么在onPageShow的时候恢复状态,怎么处理用户手动杀进程之后数据不丢失的问题。我学到了怎么写隐私弹窗才能过审核。我学到了一个按钮的圆角到底是 8vp 还是 12vp 看起来才舒服。
这些知识,没有一个是在官方文档里以"你必须学这个"的形式出现的。它们是你做一个真正的东西的时候,一个一个问题逼出来的。
所以我的建议是:
- 不要做"我要做一个什么类型的 APP"的决定。做"我要解决一个什么具体问题"的决定。
- 把功能砍到你觉得"这也太简单了吧"的程度,再砍一半。你能做的最小可用产品,才是你能真正做完的东西。
- 不要一开始就想多端适配。先把手机端做好。一个只在手机上好用的应用,远胜过一个在手机、平板、手表上都"能用但不好用"的应用。
六、关于生态:2026 年你要面对的真实处境
说点真心话。
2026 年的鸿蒙生态,已经度过了最初那种"只要是原生应用就给流量"的蜜月期。HarmonyOS NEXT 彻底去掉了 AOSP 兼容层,这意味着你的应用是真的在纯鸿蒙内核上跑,系统给了你更多能力,但也对你的质量有更高期待。
现在的应用商店审核比以前严格了。隐私合规、权限申请、用户体验,都有明确的标准。这不是坏事——它意味着你的应用如果通过了审核、得到了推荐,那它是真的被认可了,而不只是"因为平台缺内容所以被放行了"。
但这也意味着,你的第一款应用很有可能不会火。这不是你的问题,这是正常的。580 万款应用里,大部分都在长尾里。你要做的不是追求第一款应用就成功,而是通过第一款应用,真正理解鸿蒙开发的完整链路。
从写代码到上架到收到第一个真实用户的评价,走完这一趟,你才算入门。
七、学习资源:哪些是真正有用的
我直接告诉你什么有用、什么没用,不绕弯子。
最有用的:
- 官方文档(developer.huawei.com)。不是让你从头到尾读,是当你遇到具体问题时去查。2026 年的官方文档已经比两年前完善太多了,API 参考、示例代码、最佳实践都有。但记住,只有带着问题去读,它才有价值。
- DevEco Studio 自带的示例工程。特别是那些 Stage 模型的完整示例,它们展示的不仅是语法,而是架构思路。
- 你自己的项目。没有什么学习材料比你自己写的、自己 debug 过的代码更有教育意义。
有点用但别沉迷的:
- 各种网课视频。它们能帮你快速过一遍语法,但看完不等于会了。很多人刷了三个月视频,一行代码没写过。
- 技术博客。有些写得很好,但 2024 年写的教程在 2026 年可能已经过时了。鸿蒙的 API 迭代很快,注意看文章的时间戳。
基本没用的:
- "七天学会鸿蒙开发"之类的速成内容。它们能教你写出一个看起来有模有样的 demo,但教不会你怎么处理真实用户场景里的问题。
八、最后想说的话
2026 年学鸿蒙开发,和 2024 年最大的不同在于:你不再是在一片荒地上开荒,而是在一个已经有了街道、有了商店、有了规矩的城市里开一家自己的小店。
这意味着你需要做得比"能用"更好,才能在众多应用里被看到。但也意味着你脚下踩着的是一个真正在运转的生态系统,你的应用有可能被几亿人看到。
我不是什么大神,我也还在学习。但回头看,我从那个只会写 Hello World 的人,到现在能独立完成一个完整应用上架,最宝贵的经验不是什么高深的架构设计,而是:先做一个小到可笑的东西,把它做完,然后再去想下一个。
你的第一款应用不需要改变世界。它需要改变的只是你自己——从"我想做一个应用"变成"我做了一个应用"。
这两个状态之间的距离,比你想象的要近。只要你开始写第一行代码,就已经在路上了。
如果你正在犹豫要不要开始,我的建议是:今天就去下载 DevEco Studio,新建一个工程,写一个按钮,点一下让它弹出一个 “Hello Harmony”。
其他的,路上再想。