鸿蒙百篇系列第 70 篇 · 专家
到这里,鸿蒙百篇系列已经走过 70%——前 60 篇打基础、做应用、上工程,61-70 篇钻到底层去看"系统是怎么搭起来的"。这一篇不引入新概念,专门做两件事:把第 61-70 篇的内容重新整理,让你能在 30 分钟内回顾起整个深度专题;同时给出后 30 篇的方向预告,方便你挑自己最想深入的领域读下去。
一、第 61-70 篇一句话回顾
二、按主题域重组:九宫格知识图谱
把这十篇内容按"开发者关心的问题"重新分组,会得到下面这个九宫格。每一格都是独立的工程问题领域,对应后面所有"专题系列"的归属。
┌─────────────────────────┬─────────────────────────┬─────────────────────────┐
│ ① 渲染 │ ② 跨设备 │ ③ 安全 │
│ RenderNode (61) │ DDO/KV/DataShare (62) │ 沙箱/权限 (63) │
│ XComponent (66) │ System Ability (69) │ 签名/HSP (68) │
├─────────────────────────┼─────────────────────────┼─────────────────────────┤
│ ④ 进程与通信 │ ⑤ 底层原生 │ ⑥ 窗口 │
│ IPC/SAMgr (69) │ NDK/Node-API (64) │ WindowStage (65) │
│ IPC (60章体系) │ Native Surface (66) │ 悬浮窗 (65) │
├─────────────────────────┼─────────────────────────┼─────────────────────────┤
│ ⑦ 资源与电源 │ ⑧ 编译与打包 │ ⑨ 实战综合 │
│ RunningLock (67) │ HAP/HSP (68) │ 后台保活 (67) │
│ Thermal (67) │ bm CLI (68) │ 按需下载 (68) │
│ │ │ 持续集成 (待 71) │
└─────────────────────────┴─────────────────────────┴─────────────────────────┘
① 渲染
61 + 66 一起读,建立"App → FrameNode → RenderNode → Render Service → GPU"的认知链路。
② 跨设备
62 + 69 一起读,把"分布式数据"和"分布式服务"两条线交叉看——一些分布式能力是数据视角,一些是 RPC 视角。
③ 安全
63 + 部分 68 内容。理解"为什么应用之间天然隔离"+“HAP 为何必须签名”。
④ 进程与通信
69 是核心。第 56 篇 IPC 也指向这条线。
⑤ 底层原生
64 + 66。一篇讲 NDK 接口,一篇讲 NDK 怎么上屏。两者一起等于"Native 自绘高清图表"的全套知识。
⑥ 窗口
第 4 篇路由 + 第 65 篇多窗口 + 第 60 章的回顾。
⑦ 资源与电源
第 67 篇 Power + 第 51 篇启动(启动阶段最吃 CPU)。
⑧ 编译与打包
第 68 篇是底层,第 20 篇是上架的运维视角。
⑨ 实战综合
这几篇是"复杂业务的工程拼图",会跨多个主题。
三、按开发阶段切片:从入门到专家
这一节把 70 篇按"做不同事时会查哪一篇"重新索引。
阶段一:从零开始(1-10)
第 01-10 篇。覆盖鸿蒙开发工具链、ArkTS 语法、组件、路由、网络。
阶段二:服务集成(11-20)
第 11-20 篇。覆盖元服务、安全、推送、音视频、地图、支付、HiAI、跨平台、测试、上架。
阶段三:专项能力(21-30)
第 21-30 篇。覆盖图形、并发、RDB、文件、蓝牙/NFC、传感器、车机、手表、IoT、国际化。
阶段四:工程化(31-40)
第 31-40 篇。性能剖析、包体积、安全加固、组件化、动态化、小程序、CI/CD、监控、架构演进。
阶段五:基础补强(41-50)
第 41-50 篇。补齐 ArkWeb、Stage 模型、NAPI、UX 规范、测试、调试、SDK Framework、H5 容器、设计模式。
阶段六:高级实战(51-60)
第 51-60 篇。启动框架、高效列表、动画进阶、表单引擎、Bridge 设计、IPC、内存管理、主题暗黑、无障碍。
阶段七:深度专题(61-70)
就是这一篇和前 9 篇。钻进系统底层看"为什么这样做"。
阶段八:专家架构(71-80,预计)
阶段九:生态与前沿(81-90,预计)
阶段十:收官(91-100,预计)
四、几个常被问的问题,结合 61-70 篇回答
Q1:我做的页面卡,是 RenderNode 问题还是 XComponent 问题?
大多数时候都不是——首要是看 52 篇高效列表、51 篇启动优化。看 Profiler 的 GPU/CPU 比例:
GPU 高 → 减少 RenderNode 重绘、第 61 篇 API
CPU 高 → 看 53 篇动画是否过度
只有遇到自绘图表/游戏才考虑 XComponent。
Q2:我的应用是单设备应用,分布式和 SA 部分可以跳过吗?
可以跳,但有代价:
鸿蒙上架后的"原子化服务"、跨设备流转等"官方会推荐"的能力你做不了
某些 API(例如分布式 KV 替代本地 KV)反而省事
建议至少把 62 和 69 的概念部分过一遍。
Q3:要不要直接上 NDK?
只有在三种情况:
已经存在 C++ 库(OpenCV、FFmpeg、自研算法)
真实测量出 ArkTS 是瓶颈
硬件/驱动相关必须走 Native
否则保持 ArkTS,别为了炫技上 NDK。
Q4:电源管理我能做什么、不能做什么?
能:
用 RunningLock 防屏幕熄灭
用 Thermal 自降级
监听电池事件做低电量体验
长任务用 Background Kit 或 Work Scheduler
不能:
找"通用保活"接口
强行反用户设置的省电模式
长时间占锁不让系统睡
Q5:我把应用发布到应用商店,签名证书要换几次?
签名设计原则:
Debug 签名:开发期固定使用,无所谓
发布签名:AGC 申请,上架时跟实名一致
企业发布签名:可选,用于企业内部发布
变更证书会导致用户必须卸载再装,所以证书一旦决定别轻换。
五、深度专题篇的"代代相传"
61-70 篇给后面 30 篇铺了三件事:
71-80:专家架构
用前 10 篇打下的底层,做"专家级架构":
大型应用分层(应用层/能力层/服务层/数据层)
错误体系标准化
性能治理系统
灰度与发布
鸿蒙特有的工程模式
81-90:生态与前沿
鸿蒙生态走出"应用层"开始:
元服务生态(卡片 + 场景)
跨生态开发(C/C++、JS/TS、Flutter)
鸿蒙与开源生态
软硬件协同(车机、IoT、PC)
鸿蒙 + AI/ML 体系
91-100:收官与展望
鸿蒙百篇回顾
知识地图 + 学习路径
团队实践
生态观察
六、为什么这一阶段被称为"深度专题"
61-70 篇的主题之所以归一类,不是它们都"难",而是因为它们都"钻到底层":
相比 51-60 篇的"框架设计 / 工程模式",61-70 更关心"鸿蒙怎么会变成这样"。
七、读这 10 篇的推荐路径
如果你时间有限,按下面三个顺序读:
A 序:性能优化方向
61 → 66 → 67 → 65 → 64 → 63
主路径:渲染 → 图形栈 → 电源 → 窗口 → NDK → 安全
B 序:分布式方向
62 → 69 → 65 → 64 → 68 → 63
主路径:数据 → 服务 → 窗口 → NDK → 包 → 安全
C 序:完整工程师视角(推荐)
61 → 64 → 66 → 69 → 62 → 67 → 65 → 68 → 63
按"接近渲染 → 深入 NDK → 跨进程 → 跨设备 → 资源 → 窗口 → 包 → 安全"完整串联。
八、和前几篇的衔接
第 60 篇"高级实战回顾"画的是前 60 篇。这一篇画的是 61-70 篇
第 40 篇做的是前 40 篇回顾并预告后 60 篇,本篇沿用同一结构
后续第 80 篇会做 71-80 的回顾,第 90 篇做 81-90,第 100 篇收官
九、小结
61-70 篇打开了"系统底层"这扇门。你不需要把每一篇都记住,但要在写代码时知道:
卡了,看 61、66、67
数据同步,看 62、69
跨进程合作,看 69
自绘/算法,看 64、66
多设备多窗口,看 65
包、签名、上架,看 68
安全边界,看 63
接下来 71-80 篇的"专家架构",是把这套底层知识向上拉一个层级,进入"架构"领域——届时你会发现 60% 的"架构选择"本质上是"你在哪一层用哪一套底层 API"。
下一篇预告:《鸿蒙专家架构:71-80 篇开场》。如果你在团队里承担"架构师"角色,71-80 篇直接为你而写。