Javascript 哪一个更好,为什么?拉斐尔JS还是HTML5画布?

Javascript 哪一个更好,为什么?拉斐尔JS还是HTML5画布?,javascript,vector,html,vector-graphics,Javascript,Vector,Html,Vector Graphics,我在网上找到了一个矢量库,它甚至可以与IE6一起使用 太神奇了 现在我的问题是,它比即将推出的HTML5好吗?我问这个问题的唯一原因是,微软可能要过几年才能实现一个不需要插件就能运行的应用程序 互联网上所有IE用户摆脱旧浏览器,我们甚至可以证明使用HTML5是合理的,这还需要更长的时间 我一直在坚持标准,但由于微软的浏览器开发缓慢,这项工作将花费太长时间 思想?Raphael是一个矢量图形库,使用SVG完成,而HTML5画布是位图图形 如果你想做矢量图形,我认为拉斐尔可能是一个不错的选择,而不

我在网上找到了一个矢量库,它甚至可以与IE6一起使用

太神奇了

现在我的问题是,它比即将推出的HTML5好吗?我问这个问题的唯一原因是,微软可能要过几年才能实现一个不需要插件就能运行的应用程序

互联网上所有IE用户摆脱旧浏览器,我们甚至可以证明使用HTML5是合理的,这还需要更长的时间

我一直在坚持标准,但由于微软的浏览器开发缓慢,这项工作将花费太长时间


思想?

Raphael是一个矢量图形库,使用SVG完成,而HTML5画布是位图图形

如果你想做矢量图形,我认为拉斐尔可能是一个不错的选择,而不是“仅仅”画布。正如您所说,canvas与IE不太兼容,它可能需要一段时间才能在本机上得到支持。如果拉斐尔做了你需要的,没有特别的理由不使用它

请注意,还有其他库可以实现这一点:Excanvas,它使用VML模拟IE画布(据我所知),还有一些其他库也可以使用Silverlight和Flash实现同样的功能,但我忘记了它们的名称

还有Dojo,它在一个易于使用的接口后面有一个抽象画布使用的组件,该接口还支持IE

在所有浏览器中使用本机canvas不会使库过时,因为库通常会抽象出一些画布的复杂性,从而使使用变得更简单。

SVGWeb()由Google提供,这正是您想要的。它使IE与SVG兼容,SVG是标准的,所有其他主流浏览器都支持SVG。换句话说,正如谷歌所说,“使用库和本机SVG支持,您可以立即瞄准现有已安装web库的约95%。

并且您可以使用在IE中实现HTML5画布标准的工具。您只需添加:

<head>
<!--[if IE]><script src="excanvas.js"></script><![endif]-->
</head>

画布和SVG之间的区别解释如下:

SVG和canvas并不是真正的 可互换技术。SVG是一种 保留模式图形的类型,其中 一切都是从一个相当复杂的角度来考虑的 抽象模型(SVG文档)。 另一方面,画布是一种 即时模式图形,哪里有 没有模型和客户端 (JavaScript)必须注意 重画、动画等


答案取决于您需要什么:

  • 如果需要向图形对象添加事件处理程序:需要使用SVG。其他画布

  • 如果不需要事件,性能是否重要:如果需要,则为5


请注意,IE9支持画布,与其他浏览器相比,它提供了更多的HTML5支持

正在搜索“拉斐尔vs画布”这篇文章已经5年了。从那以后有什么变化吗?拉斐尔已经过时了吗?

不知何故,你没有参与这个项目,是吗?这听起来像个笑话!啊!发帖,不是问题。@T.J.不,我只是在网上找到的。我一直在等待IE赶上所有其他浏览器,这让我很沮丧。在HTML5画布中,事件也可以很容易地处理。画布本身会对点击事件做出响应;不过,您需要手动跟踪对象位置。不过,类库喜欢在这方面提供帮助,并使画布像Raphael一样易于使用。性能是最大的区别。如果要绘制多个节点,SVG的速度会降低很多。这是SVG工作方式的固有结果。HTML5画布的性能主要取决于需要重画的像素总量(宽度x高度)。@Jacco-很好的观点-如果你尝试为很多东西(例如,一个星形字段)设置动画,那么SVG真的会让事情变得一团糟-画布可以更好地处理它。