学习搭建:在线白板画图服务---Excalidraw

0. 为什么关注这个项目

这一段是:认知记录

  • 我在寻找一款轻量级、功能强大的在线白板工具
  • 我需要一个支持协作的绘图工具,用于团队头脑风暴和技术方案讨论
  • 我希望找到一个可以自托管的开源白板解决方案

这会让我以后回头看时,我会知道自己当时的思考路径,这是非常有价值的。


1. 项目概览

这个项目属于:

  • 自托管工具
  • 开发工具
  • UI组件

项目定位:一款轻量级、开源的在线白板绘图工具,专注于手绘风格的图表和协作编辑。

Github:https://github.com/excalidraw/excalidraw

Star:70.5k+

License:MIT

语言/技术栈:

  • TypeScript
  • React
  • Canvas API
  • WebAssembly

项目成熟度/复杂度:

  • 生产可用
  • 中等

2. 解决什么问题

2.1 这个领域原本怎么做

传统的在线白板工具要么功能过于复杂,要么需要付费使用,要么缺乏协作功能。

2.2 现有方案问题

  • 大多数在线白板工具需要付费订阅
  • 部分工具功能过于臃肿,学习成本高
  • 数据隐私问题,用户数据存储在第三方服务器
  • 协作功能有限,实时编辑体验不佳

2.3 这个项目的思路

Excalidraw 采用纯前端实现,数据默认存储在本地,支持导出和导入,同时提供自托管选项,确保数据隐私。其手绘风格的界面简洁直观,专注于核心绘图功能。


3. 架构分析

3.1 整体架构

Excalidraw 采用纯前端架构,主要由以下部分组成:

  • 核心绘图引擎:基于 Canvas API 实现手绘效果
  • 状态管理:使用 React 状态管理和自定义 hooks
  • 协作功能:通过 WebSocket 实现实时协作
  • 数据存储:支持本地存储、导出为 JSON 或图片

3.2 关键模块

  • 绘图核心:处理画布渲染、图形操作和交互
  • 协作系统:处理多用户实时编辑和冲突解决
  • 导出功能:支持多种格式导出(PNG、SVG、JSON)
  • 插件系统:允许扩展功能,如数学公式、图表等

4. 核心设计思想

4.1 技术选型分析

为什么使用:

  • TypeScript:提供类型安全,减少运行时错误
  • React:组件化开发,状态管理清晰
  • Canvas API:实现高性能的手绘效果
  • WebAssembly:用于复杂计算,提升性能

4.2 设计思想分析

这个项目体现:

  • 轻量化:纯前端实现,无需后端服务
  • 去中心化:数据默认存储在本地,用户完全掌控
  • 可扩展性:插件系统允许功能扩展
  • 用户体验优先:简洁直观的界面设计

5. 功能分析

5.1 整体架构

  • 纯前端:所有功能在浏览器中运行,无需后端服务
  • 前后端分离:可选的后端服务用于协作功能

5.2 核心模块

  • 绘图工具:支持多种图形、箭头、文本等
  • 协作系统:实时多人编辑
  • 导出功能:支持 PNG、SVG、JSON 等格式
  • 插件系统:支持数学公式、图表等扩展
  • 主题系统:支持明暗主题切换

5.3 数据流分析

1
2
3
4
5
6
7
用户操作

前端状态更新

Canvas 渲染

本地存储/导出

6. 部署与体验

6.1 部署难度

  • 纯前端部署:非常简单,只需托管静态文件
  • 协作功能部署:需要配置 WebSocket 服务器

6.2 资源占用

  • 前端资源:轻量级,加载速度快
  • 运行时:内存占用低,适合低配置设备

6.3 使用体验

  • 界面简洁直观,学习成本低
  • 手绘风格独特,视觉效果好
  • 协作功能流畅,支持实时编辑
  • 响应速度快,操作流畅

7. 类似项目对比

项目 复杂度 技术栈 适用场景
Excalidraw 中等 TypeScript, React 轻量级协作绘图,技术方案讨论
Miro 复杂 未知 企业级协作,功能丰富
Figma 复杂 未知 专业设计,原型制作
Draw.io 中等 JavaScript 流程图绘制,专业图表

8. 优缺点分析

优点:

  • 轻量级,加载速度快
  • 开源免费,支持自托管
  • 手绘风格独特,视觉效果好
  • 支持实时协作
  • 数据隐私保护

缺点:

  • 高级功能相对较少
  • 协作功能需要额外部署
  • 移动端体验有待改进

9. 我的判断

我认为:

这个项目:

  • 适合谁:需要轻量级协作绘图工具的团队,技术人员,教育工作者
  • 不适合谁:需要专业设计功能的设计师,需要复杂图表的业务分析师
  • 未来如何:有很大的发展潜力,社区活跃,功能不断完善,有望成为开源协作绘图的标准工具


学习搭建:在线白板画图服务---Excalidraw
https://blog.doracoin.cc/posts/opensource/20886.html
作者
Doracoin
发布于
2026年3月26日
更新于
2026年3月26日
许可协议