Skip to content
目录

Univer 核心架构概述

Univer 用于在浏览器(及 Node 等环境)中构建可编辑的表格、文档、演示稿,强调插件化、命令驱动变更、Canvas 自绘、可协同


1. 分层架构

text
Facade API     面向业务的上层封装
Plugin         功能以插件注册(逻辑 / UI 可拆分)
Core Services  Command、Undo、Lifecycle、DI(redi)
Data Model     Workbook / Document / Slide + Snapshot
Rendering      Canvas、视口、分层绘制

2. 核心组件

组件职责
Univer 实例入口:DI 容器、注册插件、挂载文档单元
Injector (redi)服务注册与解析,支持父子作用域
Plugin生命周期钩子中注册 Service / Controller
CommandService统一执行 COMMAND / MUTATION / OPERATION
UnitModel各文档类型数据与快照
Engine / Scene渲染树与绘制

3. 三类命令(心智模型)

类型是否进 Undo是否协同同步典型用途
MUTATION改单元格、插行等最小数据变更
COMMAND组合层编排多个 MUTATION业务操作入口
OPERATION一般否滚动、选区等 UI 态

所有持久数据修改应走命令,不要直接改 Model。


4. 三种文档单元

类型说明
Workbook电子表格
Document富文本文档
Slide演示文稿

均支持 Snapshot 序列化,供保存与协同。


5. 设计原则(摘要)

  • 插件扩展:核心薄,能力插件化。
  • 逻辑 / UI 分离:如 sheets-filtersheets-filter-ui
  • 命令单一入口:便于 Undo、协同、审计。
  • 增量渲染:只重绘脏区。

6. 阅读路径

主题章节
插件与生命周期02
绘制与性能03
公式04
改数据05
结构06
多人07
Node / Worker08

总结

记牢:Univer = DI + 插件 + Command/Mutation + Snapshot Model + Canvas

MIT License.