jQuery SVG 与 Raphael

IT技术 javascript jquery svg raphael
2021-03-14 10:39:23

我正在使用 SVG 和 JavaScript/jQuery 开发交互式界面,我正在尝试在RaphaeljQuery SVG之间做出决定我想知道

  1. 两者之间的权衡是什么
  2. 发展势头似乎在哪里。

我不需要 Raphael 中的 VML/IE 支持,或者 jQuery SVG 的绘图能力。我主要对在 SVG 画布上创建、动画和操作单个项目的最优雅方式感兴趣。

6个回答

我最近同时使用了 Raphael 和 jQuery SVG - 这是我的想法:

拉斐尔

优点:一个很好的入门库,很容易用 SVG 快速做很多事情。写得很好,有据可查。大量示例和演示。非常可扩展的架构。很棒的动画。

缺点:是在实际 SVG 标记之上的一层,使得难以用 SVG 做更复杂的事情 - 例如分组(它支持集合,但不支持组)。编辑现有元素时效果不佳。

jQuery SVG

优点:一个 jquery 插件,如果你已经在使用 jQuery。写得很好,有据可查。很多例子和演示。支持大多数 SVG 元素,允许轻松访问元素

缺点:架构不像 Raphael 那样可扩展。有些事情可以更好地记录(例如 SVG 元素的配置)。编辑现有元素时效果不佳。动画依赖于 SVG 语义 - 这不是那么好。

SnapSVG作为 Raphael 的纯 SVG 版本

SnapSVG 是 Raphael 的继任者。它仅在支持 SVG 的浏览器中受支持,并且几乎支持 SVG 的所有功能。

结论

如果您正在做一些快速而简单的事情,Raphael 是一个简单的选择。如果您打算做一些更复杂的事情,我选择使用 jQuery SVG,因为与使用 Raphael 相比,我可以更轻松地操作实际标记。如果你想要一个非 jQuery 解决方案,那么 SnapSVG 是一个不错的选择。

RaphaelJS 的文档也不是很好,它是有限的,有时您必须进入 SVG 或 jQuery 文档才能获取所有信息。也就是说,有了演示(源代码)以及论坛和许多用户,我设法得到了我需要的答案。
2021-05-01 10:39:23
问题专门针对 SVG,而不是向后兼容性。如果希望是跨浏览器矢量图形,那么您是对的。
2021-05-03 10:39:23
我刚刚开始使用 Raphael 并发现文档是我遇到的最好的 JavaScript API 文档,在更正式的规范旁边有非常清晰的示例
2021-05-18 10:39:23
另一个 jQuery SVG con 是该项目虽然该项目是 opensoucer(GPL 和 MIT),但它似乎已被其开发人员放弃(版本 1.4.5 最后更新于 2012 年 4 月 28 日)。jquery.svg.dom 会导致与 jQuery 1.8 的一些冲突。理想情况下,我会等待有人接管该项目,并希望将其放入 github
2021-05-20 10:39:23
不要忘记 RaphaelJS 向后兼容 Internet Explorer 的 VML。这很重要,因为 SVG 在旧浏览器上不起作用。
2021-05-21 10:39:23

对于后代,我想指出我最终选择了 Raphael,因为干净的 API 和“免费”的 IE 支持,还因为积极的开发看起来很有希望(例如,事件支持刚刚在 0.7 中添加)。但是,我不会回答这个问题,我仍然有兴趣了解其他人使用 Javascript + SVG 库的经验。

对 Raphael 的 IE 支持很棒。IE 中带圆角的正方形?...没问题;)
2021-05-07 10:39:23

我是 Raphael 的忠实粉丝,而且开发势头似乎很强劲(上周晚些时候发布了 0.85 版)。另一个很大的好处是它的开发者Dmitry Baranovskiy目前正在开发一个 Raphael 图表插件g.raphael,它看起来非常光滑(在Flickr上有一些早期版本的输出样本) .

然而,为了将另一个可能的竞争者加入 SVG 库组合,Google 的SVG Web确实看起来非常有前途(尽管我不是 Flash 的忠实粉丝,它用于在非 SVG 兼容的浏览器中呈现)。可能值得一看,尤其是在即将到来的SVG Open 会议上

注意到当前版本是 2.1.2 没什么大不了的。这条评论正等待几年后得到另一个人的纠正......
2021-04-28 10:39:23
Kopat' Sho Ya Nashel,几年后......现在是 Raphael v2.2.1
2021-05-01 10:39:23
目前是 Raphael v. 1.5.2。
2021-05-08 10:39:23

Raphael 确实更容易设置和使用,但请注意,在 SVG 中有一些表达内容的方法在 Raphael 中是不可能的。如上所述,没有“组”。这意味着您不能实现坐标变换层。相反,只有一种坐标变换可用。

如果您的设计依赖于嵌套坐标变换,那么 Raphael 不适合您。

Oh Raphael 自 6 月以来取得了重大进展。有一个新的图表库可以使用它,这些非常引人注目。Raphael 还支持完整的 SVG 路径语法,并结合了非常先进的路径方法。在我的网站(无耻插件)上看到 1.2.8+,然后从那里跳到 Dmitry 的网站。 http://www.irunmywebsite.com/raphael/raphaelsource.html