2012-01-26 35 views
33

我开始使用HTML5的新项目。两种最流行的图形工具包是KineticJSRaphaelJS。如果您有使用这些的经验,您有任何建议吗?他们提供哪些功能,并且在使用其中一项优势方面有优势?Kineticjs vs Raphaeljs

E.g.只有RaphaelJS可以在传统浏览器上工作(但这不是我需要的功能)。

+0

你必须更具体地说明你正在做什么样的项目,不同的技术适合不同的需求。 – bennedich

+1

@bennedich我只需要知道两者的可能性有什么区别 –

+1

请注意,RaphaelJS的作者还创建了SnapSVG:http://snapsvg.io/,它更适合现代浏览器。 –

回答

52

RaphaelJS和KineticJS最大的区别是RaphaelJS使用SVG和KineticJS使用HTML5 Canvas进行可视化。
所以它真的取决于你在做什么样的项目。

下面是你应该看看关于SVG VS帆布一些有用的链接:

总结:

  • 如果你想创建一些交互式图表,我会和RaphaelJS一起去,因为用SVG做这件事很容易(KineticJS确实提供了一些抽象的API,这也使得它很容易实现)。
  • 如果您想要可视化大量形状/对象,我建议使用KineticJS作为画布比例尺,通常更好地绘制大量形状/对象,而KineticJS使用多个图层来提高渲染性能。
+3

我不同意SVG更适合图表而不是画布,实际上。看看这个演示:http://meteorcharts.com/ Canvas可以处理数以十万计的数据点,并且即使在移动设备上也能保持响应。 SVG根本无法做到这一点。 –

+1

当然,如果你必须处理大量的形状/点来绘制,比帆布比SVG更好(参见线程中的基准)。 但对于简单的交互式图表(barcharts,piecharts等),SVG足够快,如果您使用[D3.js](http://d3js.org/),则可以用相对较少的努力创建一些令人印象深刻的交互式图表。 –

+0

SVG或Canvas?在两者之间选择。 http://dev.opera.com/articles/view/svg-or-canvas-choosing-between-the-two/ – Cherven