当前位置: 首页 > news >正文

鸿蒙 App 的 Task + State 双核心架构

子玥酱(掘金 / 知乎 / CSDN / 简书 同名)

大家好,我是子玥酱,一名长期深耕在一线的前端程序媛 👩‍💻。曾就职于多家知名互联网大厂,目前在某国企负责前端软件研发相关工作,主要聚焦于业务型系统的工程化建设与长期维护。

我持续输出和沉淀前端领域的实战经验,日常关注并分享的技术方向包括前端工程化、小程序、React / RN、Flutter、跨端方案
在复杂业务落地、组件抽象、性能优化以及多端协作方面积累了大量真实项目经验。

技术方向:前端 / 跨端 / 小程序 / 移动端工程化
内容平台:
掘金、知乎、CSDN、简书
创作特点:
实战导向、源码拆解、少空谈多落地
文章状态:
长期稳定更新,大量原创输出

我的内容主要围绕前端技术实战、真实业务踩坑总结、框架与方案选型思考、行业趋势解读展开。文章不会停留在“API 怎么用”,而是更关注为什么这么设计、在什么场景下容易踩坑、真实项目中如何取舍,希望能帮你在实际工作中少走弯路。

子玥酱 · 前端成长记录官 ✨
👋 如果你正在做前端,或准备长期走前端这条路
📚 关注我,第一时间获取前端行业趋势与实践总结
🎁 可领取11 类前端进阶学习资源(工程化 / 框架 / 跨端 / 面试 / 架构)
💡 一起把技术学“明白”,也用“到位”

持续写作,持续进阶。
愿我们都能在代码和生活里,走得更稳一点 🌱

文章目录

    • 引言
    • 一、为什么传统页面架构越来越撑不住
      • 一个典型页面
    • 二、Task + State 架构真正解决的是什么
      • Task 管什么
      • State 管什么
    • 一个非常关键的认知
    • 三、Task 为什么会成为未来鸿蒙 App 的核心
      • AI 更是天然 Task 化
    • 四、State 为什么会成为另一半核心
    • 五、Task + State 的真正关系
      • 错误写法
      • 正确写法
    • 六、Task + State 双核心模型
      • 每层职责
    • 七、为什么这种结构特别适合 AI
      • 正确方式
      • 这就是边界
    • 八、为什么这种结构特别适合分布式
      • 多设备协同真正同步的是什么
      • 示例
      • 分布式同步
    • 九、为什么未来鸿蒙 App 一定会走向“双核心”
    • 十、一个推荐的代码结构
      • task/
      • store/
      • system/
      • repository/
      • ai/
      • ui/
    • 十一、真正优秀的鸿蒙 AI App 都在做什么
    • 十二、总结

引言

很多人第一次做鸿蒙 App 架构时,核心思路其实都很简单:

页面展示数据 按钮触发逻辑 状态驱动 UI

刚开始这种结构没有问题。但随着项目越来越复杂,很快就会进入一种熟悉的状态:

状态越来越多 任务越来越乱 页面越来越重

尤其 AI 接入之后,你会发现:

一次任务 可能连续修改几十个状态

例如:

awaitagent.run("整理今天会议")

AI 可能:

  • 更新日历
  • 创建待办
  • 写入笔记
  • 同步消息
  • 修改提醒状态

这时候,一个问题会突然爆发:

到底谁在管理任务?

到底谁在管理状态?

很多项目后期失控,本质原因就是:

Task 和 State 没有分离

最后整个系统会变成:

任务到处跑 状态到处改

于是越来越多中大型鸿蒙项目,最终都会走向一种新结构:

Task + State 双核心架构。

一、为什么传统页面架构越来越撑不住

传统 App 的核心模型:

页面 ↓ 按钮 ↓ 功能 ↓ 状态更新

问题在于:

页面承担了太多职责

例如:

  • UI
  • 状态
  • 业务逻辑
  • 网络请求
  • 流程控制

最后页面会越来越像:

巨型控制器

一个典型页面

@Stateloading:boolean=false@Stateorders:Order[]=[]asyncload(){this.loading=truethis.orders=awaitapi.getOrders()this.loading=false}

刚开始没问题,但后面:

  • AI 也会改 orders
  • 分布式同步也会改 orders
  • 其他页面也会改 orders

最后:

状态来源彻底失控

二、Task + State 架构真正解决的是什么

一句话总结:

Task 负责“过程”,State 负责“结果”。

Task 管什么

Task 管:

  • 流程
  • 调度
  • 执行
  • 生命周期
  • 多步骤协同

State 管什么

State 管:

  • 数据
  • 当前状态
  • UI 响应
  • 状态同步
  • 数据一致性

一个非常关键的认知

很多项目的问题:

Task 偷偷保存状态 State 偷偷处理流程

最后:

职责完全混乱

三、Task 为什么会成为未来鸿蒙 App 的核心

因为未来 App 的核心已经不是:

页面

而是:

用户目标

例如:

创建订单 整理会议 发送报告 同步设备

这些本质上都是:

任务

AI 更是天然 Task 化

AI 不理解:

页面

AI 理解的是:

目标

例如:

awaitagent.run("帮我整理今天会议")

AI 真正执行的是:

任务流

而不是:

页面跳转

四、State 为什么会成为另一半核心

因为鸿蒙本质是:

状态驱动系统

ArkUI 的核心:

@State

本质就是:

状态变化 驱动 UI

但未来,状态来源已经不只是:

用户点击

还包括:

  • AI
  • 分布式同步
  • 多设备协同
  • 后台任务
  • Task 调度

于是:

State 会越来越重要

五、Task + State 的真正关系

这是整个架构最核心的一点:

Task 不持有状态。

Task 只修改 State。

错误写法

classOrderTask{currentOrder:Order}

问题:

状态藏在 Task 内部

后面一定会出现:

  • 状态覆盖
  • 分布式异常
  • 生命周期错乱

正确写法

classOrderTask{asyncrun(){constorder=awaitapi.create()orderStore.set(order)}}

Task:

只负责流程

State:

只负责数据

六、Task + State 双核心模型

推荐一个非常稳定的结构:

Intent ↓ Task ↓ State ↓ UI

每层职责

1、Intent

用户目标,例如:

创建订单 取消支付 同步会议

2、Task

任务执行,例如:

  • 调用多个 Service
  • 编排流程
  • 调度 AI
  • 分发任务

3、State

状态存储,例如:

orderStore.orders

4、 UI

状态展示,例如:

Text(orderStore.current.title)

七、为什么这种结构特别适合 AI

因为 AI 最大的问题:

不可预测。

例如:

awaitagent.run("整理今天任务")

AI 可能:

  • 创建日程
  • 修改订单
  • 删除待办
  • 更新消息

如果 AI 可以直接操作 UI:

整个系统一定失控

正确方式

AI:

只能操作 Task

Task:

只能修改 Store

UI:

只能监听状态

这就是边界

AI → Task → State → UI

八、为什么这种结构特别适合分布式

因为鸿蒙本质不是:

页面系统

而是:

状态同步系统

多设备协同真正同步的是什么

不是页面,而是:

任务上下文 + 状态

示例

手机:

taskCenter.run("继续会议")

PC:

meetingStore.currentMeeting

自动恢复。

分布式同步

awaitkvStore.put("meeting_state",meetingStore.current)

这里同步的不是:

页面

而是:

State

九、为什么未来鸿蒙 App 一定会走向“双核心”

因为未来系统会越来越:

弱页面化

用户越来越习惯:

直接表达目标

例如:

“帮我继续昨天会议” “帮我总结待办” “帮我创建订单”

这些本质都是:

Task

但最终真正驱动 UI 的:

仍然是 State

所以未来鸿蒙 App 会越来越明显地变成:

Task + State 双核心系统。

十、一个推荐的代码结构

app/ ├── task/ ├── store/ ├── system/ ├── repository/ ├── ai/ └── ui/

task/

负责:

流程 编排 调度

store/

负责:

状态 缓存 同步

system/

负责:

无状态能力

repository/

负责:

数据访问

ai/

负责:

AI 调度 意图解析

ui/

负责:

界面展示

十一、真正优秀的鸿蒙 AI App 都在做什么

不是:

疯狂堆页面

而是:

建立稳定的 Task + State 架构

因为未来真正重要的已经不是:

  • 页面数量
  • 导航层级
  • Tab 结构

而是:

  • Task 流
  • 状态流
  • AI 调度
  • 分布式同步

十二、总结

如果用一句话总结:

Task + State,本质是“过程”和“结果”的彻底分离。

Task:

负责系统怎么运行

State:

负责系统当前是什么状态

只有当两者彻底解耦:

整个鸿蒙 App 才会真正稳定

很多人以为:

未来 App 的核心还是页面

但真正的变化其实是:

页面正在退居外围。

未来系统真正的核心会变成:

Task + State

你会越来越明显地发现:

Task 决定系统行为 State 决定系统呈现

最终很多鸿蒙 AI App 会逐渐演变成:

一个由 Task 驱动、由 State 渲染的智能系统。

http://www.jsqmd.com/news/798685/

相关文章:

  • 加州自动驾驶测试报告解读:数据背后的技术演进与行业趋势
  • 线阵相机
  • 5 亿!Vbot 完成 Pre - A 轮融资,加速机器狗交付与人形机器人研发
  • 告别Wireshark手动分析:用Python的flowcontainer库5分钟搞定pcap流量特征提取
  • 2026 重庆 GEO 服务商选型全攻略 五强实力横评与新手避坑指南 - GEO优化
  • 2026年五大B2B整合推广公司深度盘点与品牌选型推荐指南 - GEO优化
  • STM32——OLED显示图片
  • 用Yii2快速构建微服务RESTful API全攻略
  • 41《CAN总线报文周期、抖动与实时性分析》
  • 后端开发必看:设计高并发系统时,如何估算你的RTT和时延带宽积?
  • 别再死记硬背公式了!用Python代码实战理解无人机姿态的三种表示法(欧拉角、DCM、四元数)
  • 实时交通+天气+限行政策+司机疲劳度四维融合——Gemini重构Google Maps路线决策逻辑(仅限首批200家ISV开放调用)
  • 5分钟搞定专业神经网络图:Draw.io开源模板库终极指南
  • 如何自定义查询历史记录面板的展示风格_时间轴样式设计
  • 2026年谷歌广告投放机构怎么选?5家头部平台多维横向实测解析 - GEO优化
  • Pearcleaner:macOS系统清理的终极免费工具,彻底告别应用残留问题
  • OpenSCENARIO实战:从标准到场景的构建指南
  • 低精度SIMD脉冲神经网络引擎L-SPINE设计与优化
  • S7-1200 Modbus TCP 通信客户端指令块 MB_CLIENT
  • 避坑指南:CPAL脚本中diagGetRespPrimitiveByte提取诊断响应数据的正确姿势
  • 专业媒体数字化转型:从EE Times改版看响应式设计与内容生态构建
  • AMD收购赛灵思:异构计算时代下的战略整合与行业格局重塑
  • Honey Select 2终极优化指南:HS2-HF Patch完整解决方案
  • 阿里巴巴Qwen模型深度整合淘宝:对话式购物取代搜索,优化移动端购物体验
  • 第一次接触浏览器的LocalStorage
  • 从标注到训练:用Labelme+Anaconda搞定YOLO/UNet数据集全流程(以车辆检测为例)
  • 别再傻傻分不清了!UE5材质节点ActorPosition与ObjectPosition实战避坑指南
  • CoQA 数据集介绍
  • Vue3 监听器 watch 监听不到数组长度变化?深度解析数组响应式避坑指南.txt
  • 2026年华为mate80新手机会预装一些如咸鱼的第三方软件吗?靠谱吗?