Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript raphael.js vs paper.js_Javascript_Css_Svg - Fatal编程技术网

Javascript raphael.js vs paper.js

Javascript raphael.js vs paper.js,javascript,css,svg,Javascript,Css,Svg,raphael.js和paper.js之间的主要区别是什么 还有其他我应该看的LIB吗?有没有像这样更关注CSS3而不是SVG 谢谢 最明显的区别是Raphael以SVG为目标,而Paper以Canvas元素为目标。这篇论文似乎还有更高级的特性,而Raphael只是SVG的核心元素,可以通过插件扩展。可以说,这更多地取决于您的需求,以及您希望针对的环境。Canvas在某些移动浏览器上运行良好,而SVG在移动环境中几乎不起作用 另一方面,据我所知,SVG在IE(9)或Firefox中不是硬件加速的

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

还有其他我应该看的LIB吗?有没有像这样更关注CSS3而不是SVG


谢谢

最明显的区别是Raphael以SVG为目标,而Paper以Canvas元素为目标。这篇论文似乎还有更高级的特性,而Raphael只是SVG的核心元素,可以通过插件扩展。可以说,这更多地取决于您的需求,以及您希望针对的环境。Canvas在某些移动浏览器上运行良好,而SVG在移动环境中几乎不起作用


另一方面,据我所知,SVG在IE(9)或Firefox中不是硬件加速的,而且,如果我的内存没有问题的话,至少在IE(9)中是这样的。对于IE8及以下版本,您需要一个浏览器插件,大多数浏览器都有,但这是一个预期的依赖项。

Raphael使用SVG。纸用帆布

这就是主要的区别

就您可以使用它们做什么而言,Canvas和SVG都有自己的位置,并且适用于不同的事情(尽管如果您要求,它们也可以做彼此的事情)。从纯粹的功能观点来看,你需要考虑你想在库中做什么,然后决定你要使用哪一个。 无论您使用哪种浏览器,浏览器兼容性都将是一个大问题。事实上,这可能是一个比功能更大的问题

Raphael在桌面上有一个优势,因为它可以检测IE的旧版本(最早可以追溯到IE6),并转而使用VML而不是SVG。这意味着它在虚拟的所有桌面浏览器上都有很好的兼容性。Canvas在较旧的IE上不受支持,并且

但是在手机上,Paper.js可能更好,因为Canvas在手机上的支持比SVG好得多。大多数Android设备根本不支持SVG。这一点正在改变:Android3.0引入了SVG支持,但现在销售的大多数Android设备都配备了v2.x,因此在移动设备上使用SVG还需要一段时间

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

希望有帮助

还有其他我应该看的LIB吗

如果你有Flash开发的经验,你可以考虑为你提供一些闪存显示机制。画架对我来说是一个很好的工具

另一个有趣的库是processingjs,与其他库不同,processingjs也做3d工作。(它也擅长2d。)与纸张不同,拉斐尔和画架处理不处理开箱即用的用户交互

两个库都使用canvas

还有其他我应该看的LIB吗

是的,你应该看看

顺便说一下,这里是raphael.js、paper.js和processing.js之间的一个很好的比较:

甚至是相同效果的代码比较:

对于IE8和更早版本,Raphael获胜-它与IE6兼容,因为它在旧版IEs中使用VML而不是SVG。如果画布是硬件加速的,那么SVG通常也是,因为它们运行在同一个底层图形库上。我不赞同IE8或更早版本,所以我选择纸质版。如果你不需要支持那些浏览器,那就更好了。谢谢,是的,这很有帮助。我可能会使用choosing paper.js+1:我以前没有见过easel.js,但它听起来很不错。我已将URL添加到您的答案中,以帮助其他人找到它。KineticJS是一个以节点嵌套式体系结构的性能为重点的复杂库。如果你想要一个类似Flash的API,我建议你使用画架。如果你想要一个类似于jQuery或YUI的API,可以试试KineticJS。看到《代码比较+粉碎》杂志的文章非常棒——谢谢分享。