1. 项目拆解与进阶路线
最近我在整理一个鸿蒙PC端的计数统计小工具,整个项目从最简单的“加减一”计数器开始,一路扩展到步长选择、目标进度、历史记录列表、弹窗确认、数据持久化,最后集成了十来个ArkUI常用组件,跑在宽屏窗口下体验已经很接近原生桌面工具。这个从计数器到多功能组件集成的过程,恰好把鸿蒙开发里最核心的几块内容都串了一遍:ArkTS声明式写法、状态与UI更新、自定义组件封装、常用容器组件组合、Preferences本地存储、PC窗口适配。
这篇文章就把这条进阶路线完整拆开来讲。适合两类人:一类是已经能把“Hello World”和官方计数器跑起来、但不知道下一步该学什么的初级开发者;另一类是准备做鸿蒙PC版工具类应用、想快速确认技术方案是否可行的移动端或前端开发者。项目本身不复杂,但我会把每一步“为什么这么设计”说明白,也会把我在实际工程里踩过的坑直接标出来,这些内容通常不会写在官方Demo里。
1.1 为什么拿计数器当项目主线
官方模板里就有计数器Demo,很多人跑完之后就丢到一边,觉得太简单、没有工程参考价值。但计数器其实是一个非常适合做进阶演练的“最小业务闭环”。它内部有明确的数据状态,比如当前数值、步长、目标值;有用户交互,比如点击按钮、输入配置;有结果反馈,比如进度百分比、历史记录。把这几件事梳理好,跟做一个正经桌面工具需要考虑的事情几乎没有差别。
更重要的是,计数器项目的状态流转非常清晰,好调试、好验证。在鸿蒙这种声明式UI框架里,最核心的机制就是“状态变化驱动界面更新”。计数器加一减一,界面上数字必须跟着变,这就是状态管理最基本也最典型的场景。从这个小点上把@State、数据流、组件刷新机制搞透,后面再去看复杂页面,思路会顺很多。
我通常建议团队里的新人先用计数器把整套工具链走通:建工程、调UI、处理交互、做持久化、上调试器、跑PC宽屏模拟器。这一套流程如果能在半天内走完,后面进入真实业务开发时就不会在基础问题上反复卡住。
1.2 这个进阶项目的最终形态
纯计数器只能按一下加一,没什么意思,所以我在实际项目里把它升级成了一个“计数工作台”,核心功能包括:
- 主计数区:支持加减、清零,数值范围限制在0到9999,防止溢出和一些无意义的负数。
- 步长配置:不是每次固定加一,而是可以切换1、5、10、
