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

鸿蒙 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:booleanfalseStateorders:Order[][]asyncload(){this.loadingtruethis.ordersawaitapi.getOrders()this.loadingfalse}刚开始没问题但后面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(){constorderawaitapi.create()orderStore.set(order)}}Task只负责流程State只负责数据六、Task State 双核心模型推荐一个非常稳定的结构Intent ↓ Task ↓ State ↓ UI每层职责1、Intent用户目标例如创建订单 取消支付 同步会议2、Task任务执行例如调用多个 Service编排流程调度 AI分发任务3、State状态存储例如orderStore.orders4、 UI状态展示例如Text(orderStore.current.title)七、为什么这种结构特别适合 AI因为 AI 最大的问题不可预测。例如awaitagent.run(整理今天任务)AI 可能创建日程修改订单删除待办更新消息如果 AI 可以直接操作 UI整个系统一定失控正确方式AI只能操作 TaskTask只能修改 StoreUI只能监听状态这就是边界AI → Task → State → UI八、为什么这种结构特别适合分布式因为鸿蒙本质不是页面系统而是状态同步系统多设备协同真正同步的是什么不是页面而是任务上下文 状态示例手机taskCenter.run(继续会议)PCmeetingStore.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 渲染的智能系统。

相关文章:

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

子玥酱 (掘金 / 知乎 / CSDN / 简书 同名) 大家好,我是 子玥酱,一名长期深耕在一线的前端程序媛 👩‍💻。曾就职于多家知名互联网大厂,目前在某国企负责前端软件研发相关工作,主要聚…...

《凰标》与《第一大道》:同一宇宙下的龙凤双璧@凤凰标志

龙凤双璧:海棠山铁哥文学宇宙宣言——《第一大道》《凰标》世界观联动白皮书一、时代之问:当网文只剩“单兵”市场痛点铁哥答案单兵叙事双IP共生世界观割裂同源宇宙IP不成体系闭环叙事 二、宇宙基石:一破一立的双璧格局 #mermaid-svg-A2eFhZn…...

Vivado时序约束实战:输入/输出延时设置背后的时序模型与设计考量

1. 时序约束的本质:从理论到实践的桥梁 刚接触FPGA设计时,我最头疼的就是时序约束。那些建立时间、保持时间的概念看得人云里雾里,更别说要在Vivado里实际设置了。直到有一次项目因为时序问题导致整板无法工作,我才真正明白时序约…...

面试被问烂的20道编程基础题,你必须全会,不然别去面试

文章目录前言一、Python基础篇(6道)1. Python中list和tuple有什么区别?2. Python 3.7之后普通dict已经有序了,那OrderedDict还有存在的必要吗?3. Python中的深拷贝和浅拷贝有什么区别?4. Python中的*args和…...

TINA-TI仿真实战:从运放振铃到电源设计的电路调试指南

1. 为什么我们需要TINA-TI仿真软件 作为一个在硬件设计领域摸爬滚打多年的工程师,我见过太多因为电路设计问题导致的返工案例。记得有一次,我们团队花了两周时间手工焊接的样机,上电后运放输出端出现了严重的振铃现象,不得不全部拆…...

SteamAutoCrack:3步自动化破解Steam游戏的终极解决方案

SteamAutoCrack:3步自动化破解Steam游戏的终极解决方案 【免费下载链接】Steam-auto-crack Steam Game Automatic Cracker 项目地址: https://gitcode.com/gh_mirrors/st/Steam-auto-crack 你是否厌倦了每次想离线玩游戏时都要手动破解的繁琐过程&#xff1f…...

深入STM32F429 LTDC双图层与DMA2D:打造流畅UI界面的性能优化指南

STM32F429 LTDC与DMA2D深度优化:构建60FPS工业级UI的实战指南 在工业HMI和医疗设备等对显示性能要求严苛的场景中,流畅的UI动画和实时数据可视化往往成为系统瓶颈。STM32F429的LTDC控制器配合DMA2D加速器,通过合理的架构设计可实现媲美专业GP…...

Unlock Music:3种创新用法让你重新掌控被加密的音乐收藏

Unlock Music:3种创新用法让你重新掌控被加密的音乐收藏 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: htt…...

后端开发必看:设计高并发系统时,如何估算你的RTT和时延带宽积?

高并发系统设计实战:从RTT到时延带宽积的性能优化指南 在分布式系统的世界里,网络性能指标往往成为制约整体吞吐量的隐形瓶颈。我曾亲眼见证过一个日活百万的社交平台,因为微服务间调用的RTT估算偏差,导致高峰期请求堆积如山的惨状…...

加州自动驾驶测试报告解读:数据背后的技术演进与行业趋势

1. 从加州数据看自动驾驶的“成绩单”:2021年测试报告深度解读每年年初,自动驾驶圈子里不少人都会习惯性地去翻看一份来自美国加州的“成绩单”——加州机动车辆管理局发布的年度自动驾驶车辆测试报告。这份报告就像一份公开的“期中考试”排名&#xff…...

用Yii2快速构建微服务RESTful API全攻略

...

AI时代数据中心架构变革:从计算中心到加速基础设施

1. 从“计算中心”到“加速基础设施”:数据中心架构的范式转移最近和几个在头部云厂商做架构设计的老朋友聊天,话题总绕不开一个词:加速基础设施。这词儿听起来挺高大上,但说白了,就是咱们传统数据中心那套“通用计算存…...

Linux调试利器:用addr2line精准定位程序崩溃现场

1. 当程序崩溃时,我们该如何快速定位问题? 作为一名长期奋战在Linux开发一线的程序员,我最头疼的就是遇到程序突然崩溃的情况。那种看着终端输出"Segmentation fault (core dumped)"却无从下手的无力感,相信很多开发者都…...

STM32CUBEMX实战指南:串口DMA高效收发与自定义打印函数优化

1. 串口DMA基础与STM32CubeMX配置 第一次用STM32CubeMX配置串口DMA时,我对着密密麻麻的选项差点崩溃。后来发现只要掌握几个关键点,5分钟就能搞定稳定可靠的DMA通信。先解释下为什么需要DMA:当你用传统方式通过串口发送"Hello World&quo…...

你的密码正在裸奔!一张RTX 5090,1小时破解60%的MD5密码

网络安全文章 文章目录 网络安全文章前言一、卡巴斯基到底做了什么?1.1 测试环境1.2 测试结果 二、为什么MD5这么脆弱?2.1 MD5设计初衷就不是用来存密码的2.2 MD5 vs bcrypt vs Argon2 对比 三、真实案例:算力平台租卡破解有多便宜&#xff1…...

英雄联盟智能助手:5个核心功能让你的游戏体验提升300%

英雄联盟智能助手:5个核心功能让你的游戏体验提升300% 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 你是否曾因错过对局接受而被…...

混合原型验证:软硬件协同的芯片设计革命

1. 混合原型验证:从割裂到统一的芯片设计革命在芯片设计的漫长周期里,硬件工程师和软件工程师常常像是在两个平行世界里工作。硬件团队埋头于RTL编码、综合、布局布线,最终将设计烧录进FPGA原型板,进行物理层面的调试和性能测试。…...

信息学奥赛刷题实战:用C++搞定OpenJudge NOI 1.4 09题(判断整除)的四种思路

信息学奥赛刷题实战:用C搞定OpenJudge NOI 1.4 09题(判断整除)的四种思路 在信息学奥赛(NOI)和OpenJudge等编程竞赛平台上,一道看似简单的题目往往隐藏着多种解题思路。今天,我们就以OpenJudge …...

Agent设计模式全景图——从ReAct到Multi-Agent的完整知识体系

Agent概念在2023年就已出现,2024年是框架快速迭代的一年。到了2026年,Agent设计模式逐渐成熟,成为工程实践的关键。 GitHub上关于Agent的开源项目突破10万个,LangChain、LangGraph、AutoGen、CrewAI……框架层出不穷。但翻遍这些文…...

别再花钱买服务器了!手把手教你用Sakura Frp免费搞定内网穿透(Windows保姆级教程)

零成本实现内网穿透:Windows平台实战指南 在个人开发和小型项目测试阶段,许多开发者都面临一个共同难题——如何将本地服务暴露到公网供临时访问?传统解决方案往往需要租用云服务器,不仅成本高昂,配置过程也相当复杂。…...

告别内存焦虑:用STM32+外部SRAM(IS62WV51216)实现大数组和GUI缓存

STM32外部SRAM实战:突破内存限制的工程化解决方案 当你在STM32上开发图形界面或处理音频流时,是否遇到过程序突然崩溃的窘境?那些隐藏在编译通过背后的内存溢出问题,往往在项目后期才暴露出来。最近接手的一个智能家居控制面板项目…...

5G技术授权商业化的七大挑战与市场可行性深度解析

1. 项目概述:一次关于5G技术授权商业可行性的深度探讨最近在整理行业资料时,翻到一篇2019年EE Times上的旧文,标题挺抓人眼球,叫《授权华为5G技术可能是个坏主意的30个理由》。文章的核心是讨论当时华为创始人提出的一项设想&…...

LangGraph、OpenClaw、Hermes:三种 Agent 路线,不是一回事

开头 这两年,只要聊到 Agent,绕不开三个名字:LangGraph、OpenClaw、Hermes。 它们都很火。 但也很容易被混在一起。 有人把 LangGraph 当成一个“Agent 产品”。 有人把 OpenClaw 当成一个“Agent 框架”。 也有人把 Hermes 理解成“另…...

Honey Select 2终极优化指南:HS2-HF Patch完整解决方案

Honey Select 2终极优化指南:HS2-HF Patch完整解决方案 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch HS2-HF Patch是专为《Honey Select 2》游戏设…...

5分钟搞定专业神经网络图:Draw.io开源模板库终极指南

5分钟搞定专业神经网络图:Draw.io开源模板库终极指南 【免费下载链接】Neural-Network-Architecture-Diagrams Diagrams for visualizing neural network architecture 项目地址: https://gitcode.com/gh_mirrors/ne/Neural-Network-Architecture-Diagrams 你…...

告别Wireshark手动分析:用Python的flowcontainer库5分钟搞定pcap流量特征提取

用Python的flowcontainer库实现pcap流量特征自动化提取 每次面对几十GB的pcap文件时,你是否也厌倦了在Wireshark中反复点击、筛选、导出数据的繁琐操作?网络流量分析是安全研究和数据挖掘的基础工作,但传统的手动分析方法效率低下&#xff0…...

硬件工程师实战指南:工业物联网安全、无线充电与TSN网络设计解析

1. 项目概述:一场面向硬件工程师的线上技术盛宴最近在整理行业资料时,翻到了EE Times几年前发布的一个“即将到来的线上技术活动”汇总页面。虽然发布时间是2018年,但里面提到的几个技术主题——工业物联网安全、硬件身份认证、工业以太网演进…...

从PCB走线到天线:手把手教你搞定Sx1262射频前端阻抗匹配(附常见错误排查)

从PCB走线到天线:手把手教你搞定Sx1262射频前端阻抗匹配(附常见错误排查) 在LoRa终端硬件开发中,射频前端的阻抗匹配往往是决定通信质量的关键因素。许多工程师在完成Sx1262芯片外围电路设计后,常会遇到通信距离不理想…...

智能设备语音交互进阶:从‘慢交互’到‘快交互’,详解ONESHOT模式下的音频残留音过滤实战

智能设备语音交互进阶:ONESHOT模式下的音频残留音过滤实战 在智能语音交互领域,ONESHOT模式已经成为提升用户体验的关键技术。这种允许用户在唤醒设备后无需二次唤醒即可直接下达指令的交互方式,正在重塑人机对话的自然流畅度。然而&#xff…...

Linux终端美化:cmatrix屏保的安装与个性化配置指南

1. 初识cmatrix:从黑客帝国到你的终端 第一次看到cmatrix运行效果时,我正窝在咖啡馆调试服务器。黑色背景上不断下落的绿色字符,瞬间让我想起《黑客帝国》里尼奥看到的数字雨。这个诞生于2002年的开源项目,最初只是开发者Chris Al…...