raphael.js vs paper.js

raphael.js和paper.js之间的主要区别是什么?

有没有其他的库在那里我应该看看? 任何像这些更专注于CSS3然后SVG?

谢谢!

Raphael使用SVG。 纸使用canvas。

这是主要的区别。

在Canvas和SVG中,Canvas和SVG各有自己的地方,对于不同的事情也是有好处的(尽pipe如果你问他们,他们都可以做对方的事情)。 从纯粹的functionangular度来看,在决定select哪一个之前,你需要考虑你想要在图书馆做什么。

浏览器兼容性将成为一个大问题,无论你使用哪一个。 事实上,这可能是比function更大的问题。

Raphael在桌面上占有一席之地,因为它可以检测IE的早期版本(早在IE6中),而不是使用VML而不是SVG。 这意味着它在所有桌面浏览器上具有出色的兼容性。 老式的IE浏览器不支持Canvas,而Paper.js的用户似乎并不太担心 。

但在手机上,Paper.js可能会更好,因为Canvas对手机的支持比SVG好得多。 大多数Android设备都不支持SVG。 这个情况正在发生变化:Android 3.0引入了SVG支持,但是现在大多数安卓设备都是以v2.x的forms出现的,所以在依靠SVG工作在一个移动设备之前还需要一段时间。

有关浏览器支持的更多信息,请参阅CanIUse网站:

  • 可以使用SVG
  • CanIUse帆布

希望有所帮助。

最明显的区别是Raphael以SVG为目标,Paper以Canvas元素为目标。 看起来Paper有更高级的特性,而Raphael只是SVG的核心元素,然后可以通过插件进行扩展。 可以说,这取决于你的需要,以及你希望瞄准的环境。 canvas在一些移动浏览器上运行良好,SVG几乎不能在移动环境中工作。

作为另一方面说明:据我所知,SVG在IE(9)或Firefox中不是硬件加速的,而且,如果我的内存不是让我失败的话,Canvas至less在IE(9) 。 至于IE 8及以下版本,你需要一个最常用的浏览器插件,但是这是一个依赖的期望。

有没有其他的库在那里我应该看看?

是的,你应该看看processing.js !

顺便说一句,这里是raphael.js,paper.js和processing.js之间的一个很好的比较: http ://coding.smashingmagazine.com/2012/02/22/web-drawing-throwdown-paper-processing-raphael /

甚至相同效果的代码比较:http: //zgrossbart.github.com/3gears/

有没有其他的库在那里我应该看看?

如果你有Flash开发经验,你可以考虑一下easel.js ,它为你提供了一些Flash显示机制。 画架对我来说看起来像一个非常好的自由。

另一个有趣的库是processingjs,不像其他库处理js也是3d的东西。 (这也是2D的好处。)与纸张不同,raphael和画架处理不能处理用户的交互操作。

这两个库都使用canvas。