我在使用SVG和JavaScript/jQuery的交互界面上工作,我试图在Raphael和jQuery SVG之间做出决定。我想知道
这两者之间的权衡是什么 发展势头似乎在哪里。
我不需要Raphael中的VML/IE支持,也不需要jQuery SVG的绘图功能。我主要感兴趣的是在SVG画布上创建、制作动画和操作单个项目的最优雅的方法。
我在使用SVG和JavaScript/jQuery的交互界面上工作,我试图在Raphael和jQuery SVG之间做出决定。我想知道
这两者之间的权衡是什么 发展势头似乎在哪里。
我不需要Raphael中的VML/IE支持,也不需要jQuery SVG的绘图功能。我主要感兴趣的是在SVG画布上创建、制作动画和操作单个项目的最优雅的方法。
当前回答
如果你不需要VML和IE8支持,那么就使用Canvas(例如PaperJS)。看看最新的针对Windows 7的IE10演示。他们在Canvas上有很棒的动画。SVG不能做任何接近它们的事情。 Canvas在所有移动浏览器上都可用。SVG在Android 2.0- 2.3的早期版本中不起作用(据我所知)
是的,画布是不可伸缩的,但它是如此之快,你可以重新绘制整个画布更快,然后浏览器能够滚动查看端口。
从我的角度来看,微软的优化提供了使用Canvas作为常规GDI引擎和实现图形应用程序的方法,就像我们现在在Windows上做的那样。
其他回答
我更喜欢使用RaphaelJS,因为它具有出色的跨浏览器能力。然而,有些SVG和VML效果无法用RaphaelJS实现(复杂的渐变…)
谷歌还开发了自己的库来支持IE中的SVG: http://svgweb.googlecode.com/files/svgweb-2009-08-20-B.zip
我是Raphael的超级粉丝,开发势头似乎很强劲(上周晚些时候发布了0.85版本)。另一个很大的优点是,它的开发者Dmitry Baranovskiy目前正在开发Raphael图表插件g.raphael,这个插件看起来相当漂亮(在Flickr上有一些早期版本的输出样本)。
然而,为了在SVG库中加入另一个可能的竞争者,谷歌的SVG Web看起来确实很有前途(尽管我不是Flash的狂热爱好者,它使用Flash在不兼容SVG的浏览器中进行渲染)。可能是值得关注的,特别是在即将到来的SVG Open会议上。
我认为这不是完全无关的,但是你考虑过帆布吗?像Process JS这样的东西可以让它更简单。
拉斐尔从六月起就开始了新的生活。 有一个新的图表库可以使用它,这些非常引人注目。 Raphael还支持完整的SVG路径语法,并结合了真正高级的路径方法。来看看1.2.8+在我的网站(无耻插头),然后从那里跳到德米特里的网站。 http://www.irunmywebsite.com/raphael/raphaelsource.html
您可能想要查看的另一个svg javascript库是d3.js。http://d3js.org/