鸿蒙 PC 为什么需要新的组件体系?

张开发
2026/6/13 23:13:34 15 分钟阅读

分享文章

鸿蒙 PC 为什么需要新的组件体系?
子玥酱掘金 / 知乎 / CSDN / 简书 同名大家好我是子玥酱一名长期深耕在一线的前端程序媛 ‍。曾就职于多家知名互联网大厂目前在某国企负责前端软件研发相关工作主要聚焦于业务型系统的工程化建设与长期维护。我持续输出和沉淀前端领域的实战经验日常关注并分享的技术方向包括前端工程化、小程序、React / RN、Flutter、跨端方案在复杂业务落地、组件抽象、性能优化以及多端协作方面积累了大量真实项目经验。技术方向前端 / 跨端 / 小程序 / 移动端工程化内容平台掘金、知乎、CSDN、简书创作特点实战导向、源码拆解、少空谈多落地文章状态长期稳定更新大量原创输出我的内容主要围绕前端技术实战、真实业务踩坑总结、框架与方案选型思考、行业趋势解读展开。文章不会停留在“API 怎么用”而是更关注为什么这么设计、在什么场景下容易踩坑、真实项目中如何取舍希望能帮你在实际工作中少走弯路。子玥酱 · 前端成长记录官 ✨ 如果你正在做前端或准备长期走前端这条路 关注我第一时间获取前端行业趋势与实践总结 可领取11 类前端进阶学习资源工程化 / 框架 / 跨端 / 面试 / 架构 一起把技术学“明白”也用“到位”持续写作持续进阶。愿我们都能在代码和生活里走得更稳一点 文章目录引言一、传统组件体系为什么会越来越吃力二、但鸿蒙 PC 的核心已经不是“页面”三、真正的问题传统组件“生命周期太短”四、传统组件体系最大的问题组件持有状态五、新组件体系第一原则组件必须“去状态化”错误模型新模型六、第二个变化组件开始“Workspace 化”一个 AI Panel七、第三个变化组件开始“Task 化”文档组件八、第四个变化组件必须“可迁移”手机 AI Workspace九、第五个变化组件必须支持 AI Runtime十、为什么 Electron 体系很难走到这里十一、未来组件会越来越像“系统模块”十二、未来真正重要的组件能力1、状态隔离2、Runtime 持续性3、Workspace 化4、AI 调度5、跨设备迁移十三、真正未来的组件体系十四、本质总结总结引言很多人第一次做鸿蒙 PC 时都会下意识觉得组件不就是 Button / List / Dialog 吗于是项目很自然会这样组织页面 ↓ 组件 ↓ 事件 ↓ 状态更新一开始完全没问题。但项目一旦开始变复杂很快就会进入一种熟悉状态组件越来越重状态越来越乱多窗口开始失控AI 接入后逻辑爆炸Workspace 完全无法复用最后你会发现传统组件体系正在逐渐不适合鸿蒙 PC。问题并不是组件不够多而是整个“组件”的定义已经变了。因为鸿蒙 PC 的系统本质已经不是页面系统而是状态 Runtime这意味着传统 UI 组件体系已经无法承载多窗口分布式WorkspaceAI RuntimeTask Flow跨设备 Context这些新的系统能力所以鸿蒙 PC 必须出现新的组件体系一、传统组件体系为什么会越来越吃力过去的软件组件本质是“页面组件”例如ButtonListTableDialogTab它们核心职责很明确负责页面渲染所以过去组件设计核心是UI 展示事件响应页面布局本质上组件属于页面二、但鸿蒙 PC 的核心已经不是“页面”这是最关键的变化现在真正核心的是Workspace而不是Page例如用户现在同时写文档跑 AI拖拽文件看消息多设备协同这些行为并不属于某个页面而属于持续运行的 Workspace这时候传统页面组件开始失效三、真正的问题传统组件“生命周期太短”过去组件跟随页面创建 组件跟随页面销毁这是典型 Web / Mobile 思维但鸿蒙 PC状态持续存在例如AI Task 不应该销毁Workspace 不应该重置分布式状态不能丢Focus Context 必须持续这意味着组件已经不能只是“页面元素”而必须变成Runtime Projection四、传统组件体系最大的问题组件持有状态很多项目Componentstruct ChatView{Statemessages[]}短期没问题但复杂后多窗口同步困难AI 修改状态混乱分布式冲突Workspace 无法恢复因为状态被困在组件内部。而鸿蒙 PC 最大特点恰恰是状态必须独立存在五、新组件体系第一原则组件必须“去状态化”未来组件真正应该变成状态投影器而不是状态拥有者例如错误模型Componentstruct UserPanel{Stateuser}新模型Componentstruct UserPanel{Propuser}状态来自Store / Runtime而不是组件自己六、第二个变化组件开始“Workspace 化”过去组件属于页面未来组件属于 Workspace例如一个 AI Panel过去页面里的聊天框未来持续存在的 AI Runtime 面板它可跨窗口可跨设备可恢复状态可持续运行这已经不是传统页面组件七、第三个变化组件开始“Task 化”过去组件负责展示未来组件负责承载任务上下文例如文档组件不再只是渲染文本而是管理协作状态管理 AI Context管理 Workspace管理分布式同步也就是说组件开始变成 Runtime Container八、第四个变化组件必须“可迁移”这是鸿蒙 PC 特别重要的一点过去组件只能存在当前页面未来组件必须支持跨设备迁移例如手机 AI Workspace拖到 PC状态继续Task 继续AI Context 保留这里迁移的已经不是 UI而是组件 Runtime Context九、第五个变化组件必须支持 AI Runtime未来很多组件根本不是用户驱动而是AI 驱动例如AI 自动更新 Workspace创建 Panel调整布局修改状态这意味着组件体系必须支持AI 调度能力而传统组件体系只支持用户事件十、为什么 Electron 体系很难走到这里因为 Electron 本质仍然是Web 页面模型核心还是DOM页面生命周期前端事件系统而鸿蒙 PC正在走 Runtime 世界这里状态持续存在Workspace 持续运行AI 持续调度Task 持续流转组件体系完全不同。十一、未来组件会越来越像“系统模块”这是未来最大的变化过去组件 UI未来组件 Runtime Module包括状态容器Task ContextWorkspace ProjectionAI RuntimeDistributed Sync组件开始从页面元素变成系统能力节点十二、未来真正重要的组件能力未来组件最重要的能力会变成1、状态隔离组件不拥有状态2、Runtime 持续性组件可持续运行3、Workspace 化组件属于 Workspace4、AI 调度组件支持 AI Runtime5、跨设备迁移组件支持 Context Transfer十三、真正未来的组件体系未来鸿蒙 PC 组件体系大概率会演化成Component ↓ Runtime Node ↓ Workspace Module ↓ Distributed Projection也就是说组件不再只是 UI而是状态世界中的运行节点十四、本质总结如果一句话总结鸿蒙 PC 为什么需要新的组件体系因为整个“软件”的定义已经变了过去组件属于页面未来组件属于 Runtime过去组件负责渲染 UI未来组件负责承载状态世界这是本质变化。总结后来我们终于意识到鸿蒙 PC 真正缺的 不是更多 UI 组件而是新的 Runtime 组件体系未来真正重要的组件不只是能显示不只是能交互不只是能响应点击而是能够持续运行承载 Task保持 Context支持 AI 调度支持跨设备迁移属于 Workspace Runtime最终你会发现未来的软件组件已经不是“页面积木”而是整个状态世界的运行节点

更多文章