腾讯文档工程实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. 腾讯文档工程实践
由 Workbench 工作台驱动的业务架构
#
#
# UI
2. 腾讯文档
3. 编辑器产品
4. Workbench
Titlebar
Toolbar
Context Menu
Editor
Drawer
Statusbar
5. UI 入口
6. 配置化
7. 传统做法 – Slate & ProseMirror & 早期腾讯文档
Slate
ProseMirror
8. 传统做法 – Slate & ProseMirror & 早期腾讯文档
9. 传统做法 – VSCode & 早期腾讯文档
Edit Menu
Recent Menu
File Menu
Layout Menu
Preference Menu
Menu Registry
View Menu
Help Menu
Go Menu
Debug Menu
Appearance Menu
10. 多渠道
11. 传统方案遇到的问题
12. UI Config
13. UI Schema
14. UI Schema & UI Config
UI Schema
UI Config
UI
UI Config
Schema
UI Service
State Manager
UI Component
15. 模块化
16. 经典分层架构
17. Feature 模块
UI Config
18. 编辑器 – Feature – 产品配置
A 渠道配置和启动器
B 渠道配置和启动器
C 渠道配置和启动器
Feature Feature Feature Feature Feature Feature
Feature Feature Feature Feature Feature Feature
Feature Feature Feature Feature Feature Feature
Feature Feature Feature Feature Feature Feature
Feature Feature Feature Feature Feature Feature
编辑器 SDK
19. Adapter 组合
产品配置和启动器
Adapter<A>: a
Adapter<B>: b
Feature Feature Feature Feature Feature Feature
Feature Feature Feature Feature Feature Feature
Feature Feature Feature Feature Feature Feature
Feature Feature Feature Feature Feature Feature
Feature Feature Feature Feature Feature Feature
编辑器 A SDK
编辑器 B SDK
20. 分级加载
Reading Mode
Editing
Feature Feature Feature Feature Feature Feature
Feature Feature Feature Feature Feature Feature
Feature Feature Feature Feature Feature Feature
Feature Feature Feature Feature Feature Feature
Feature Feature Feature Feature Feature Feature
Essential
Publish Mode
On Demand
21. UI 逻辑分离
22. Feature 的问题
23. Feature 的问题
24. Feature 的问题
25. Controller
Workbench
Request
Handler Feature
Controller Provider
Router Service
26. Controller
UI Config
/
Action Point
Metadata
27. 业务侵入
28. 中间件
Request
Middleware
腾讯文档
Workbench
Middleware
Router Service
Controller Provider
Handler Feature
29. Action Runner
务
UseBefore
UseBefore
针对所有
Controller
单个
Controller
Handler
UseAfter
Action Point
UseAfter
30. 回顾
UI Schema
基于元信息编程
UI
UI Controller
中间件
31. 衍生功能
32. Thanks