我正在开发一个使用SVG和JavaScript/jQuery的交互式接口,并试图在拉斐尔和jQuery SVG之间做出选择。我想知道
我不需要支持的VML/IE在拉斐尔,或绘图能力的jQuery SVG。我主要感兴趣的是在SVG画布上创建、动画和操作单个项目的最优雅的方法。
发布于 2010-03-04 19:01:31
我最近使用了Raphael和jQuery SVG -下面是我的想法:
拉斐尔
Pros:是一个很好的入门库,很容易用SVG快速完成很多事情。写得很好,也有记载。很多例子和演示。非常可扩展的架构。动画片很棒。
Cons:是实际SVG标记上的一个层,使得使用SVG做更复杂的事情变得困难--例如分组(它支持集合,但不支持组)。不会对已经存在的元素进行很好的编辑。
jQuery SVG
Pros:如果您已经在使用jQuery,则是一个jquery。写得很好,也有记载。很多例子和演示。支持大多数SVG元素,允许对元素进行本机访问。
Cons:体系结构不像Raphael那样可扩展。有些事情可以更好地记录下来(比如SVG元素的配置)。不会对已经存在的元素进行很好的编辑。依赖于SVG语义的动画-这不是很好。
SnapSVG是拉斐尔的纯SVG版本
SnapSVG是拉斐尔的继承者。它只支持在支持SVG的浏览器中,并且几乎支持SVG的所有功能。
结论
如果你做的事情既快又容易,拉斐尔是一个容易的选择。如果您要做更复杂的事情,我选择使用jQuery SVG,因为我可以比使用Raphael更容易地操作实际的标记。如果您想要一个非jQuery解决方案,那么SnapSVG是一个很好的选择。
发布于 2009-03-17 19:32:31
对于后人,我想指出的是,我最终选择了Raphael,因为有了干净的API和“免费”的IE支持,也因为积极发展看起来很有前途(例如,事件支持只是在0.7中添加)。但是,我将不回答这个问题,我仍然有兴趣了解其他人使用Javascript + SVG库的经验。
发布于 2009-08-10 11:11:02
我是Raphael的超级粉丝,开发势头似乎很强劲(上周晚些时候发布了0.85版)。另一个好处是,它的开发者德米特里·巴拉诺夫斯基目前正在开发一个名为g.raphael的拉斐尔图形插件,这个插件看起来非常流畅(在Flickr上有一些早期版本的输出)。
然而,仅仅为了把另一个可能的竞争者加入到SVG库中,Google的SVG Web看起来确实很有希望(尽管我并不是它的超级粉丝,它用来在不兼容SVG的浏览器中呈现)。可能是一个值得关注的问题,尤其是即将到来的SVG公开会议。
https://stackoverflow.com/questions/588718
复制相似问题