只讨论原生功能,不加脚本和插件
双链
Excalidraw
支持预览语法![[]]嵌入md渲染,支持更多类型的双链,组、区域、单个元素
canvas
只支持渲染大概的框,实际内容看不见(想要支持![[]]语法,需要额外插件)
自由度(复杂度)
Excalidraw
矩形、菱形、圆形、自定义图案、svg、手写、线段、文本框、图片嵌入、文档嵌入、字体修改、可以自由绘图
元素样式也可以有多种设置
canvas
canvas只有四个元素,文本框(可以是纯文本、双链),文本框的连接线(只能连接特定位置),图片嵌入,分组框
仅有个颜色设置,形状变化要依赖插件
实现效果
Excalidraw
canvas效果
文件层面
Excalidraw支持yaml,canvas不支持yaml
虽然两者都是存储为json数据,但是Excalidraw是.md格式,canvas是.canvas
排版
这是我感知最深的一个功能了
Excalidraw
基本的对齐,等距排列,元素图层等级调整

canvas
无(图层等级可依赖一些插件实现)
总结:
canvas的效果,Excalidraw都能够实现,但Excalidraw的效果,canvas无法实现
canvas的四个元素,对应Excalidraw的,就是嵌入文档,箭头,图片元素,frame分组
有些效果,canvas可以依靠插件实现一些Excalidraw的效果,但Excalidraw的生态更完善,这只对比原生功能





