2011-12-02 66 views
-1

我想创建web应用程序,这将能够建立思维导图。 后端对我来说不是问题,但前端是:我不知道使用哪种技术。Canvas vs SVG for graph-like diagrams?

应用程序应构建无限制的图形,其中每个节点应该可编辑并包含文本。

回答

2

SVG!无限可缩放,在现代浏览器(包括Firefox 4及更高版本)中得到很好的支持,并且可以很好地处理文本。

+0

也webkits支持,它是很好的支持移动设备上,并呈现非常好。矢量ftw! – gthmb

+0

尽管使用SVG库直接编写SVG输出是一个巨大的痛苦! – gthmb

+0

这不是100%正确,SVG在大多数Android设备上都不可用。版本2.2及更早版本。所以Canvas现在不幸是更好的选择。 –

0

如果我不得不在两者之间进行选择,我会说画布。

有一个相关的问题here这将给你一个更全面的答案,但它得到了很大的支持,作为html5的一部分获得动力,并且(如果它有所作为)具有良好的移动支持。

但是我也会说他们很不一样,没有什么可以阻止你使用他们,因为他们当然可以一起工作。

1

我也会告诉你检查http://raphaeljs.com/让你的生活更轻松。

当谈到动画时,它倾向于沿着HTML5画布,但如果您的需要是复杂的动画或需要更多的控制和质量,SVG是要走的路。

除了质量之外,HTML5画布中的其他缺点是幕后它是一个像素操作,并且您不会为每个对象获取DOM,这意味着您无法通过ID调用它们或单独操作它们。每一个小改变都是重绘。在另一方面

SVG将控制权的DOM水平和