?
?????? 由于 SVG 是 W3C 推荐的 web 矢量图像标准,而且 Adobe 在没有收购 MacroMedia 之前力推 SVG ,所以在前几年使用的人还算比较多。现在由于 Adobe 整体的战略放到了 Flash 和 Flex 以及 ActionScript 上面, SVG 的热度正在逐渐冷却。
?????? 从纯粹的技术角度来说,这些都是很遗憾的事情。 我经常在一些论坛里面看到一些无聊的人在争论是 Ext 好还是 JQuery 好,又或者是 Flex 好还是 SilverLight 好,我想这些人都没有搞清楚状况!无论是谁好,作为我们国内的开发者,都没有什么好处,只能跟随这些大鳄的脚步随波逐流,然后从他们的牙缝里分到一些残羹冷炙!真诚地罗嗦一句,兄弟们,低调些,埋下你的头好好钻研,或许某一天我们能稍微掌握一些自主权,而不是老是三更半夜不睡觉去不断狂补这些新东西!
???????? 扯远了,说实际的。
???????? 虽然 SVG 逐渐冷却,但是会 SVG 的兄弟也不必担忧,因为这方面技术的共通性比较强。会 SVG ,然后再稍微看看 ActionScript 就会知道,里面好多的东西原来是可以直接拿过来改改用的。
???????? 另一方面, SVG 与 VML 的相似性就更多了,因为当时 M$ 推 VML 给 W3C 就是为了与 SVG 竞争的。
???????? 说到这里,我想 SVG 部分就没什么再值得说的了。下面给出我所知道的 SVG 方面目前还在做,而且做得不错的一些 Demo 。(不包括我自己的)
???????
1、 开发工具 inkscape :可以用来直接绘制 SVG 图的,这一点与 VML 不同, VML 就没有这么好用的图形化开发工具。(如需要,请自己到这里来下载,不要再问我要啦http://www.inkscape.org/ )
2、
自制SVG曲线
?
?
自制js封装SVG示例
? 3、《
SVG
开发实践》中的
Gis
示例:
?4、赛瓦拓扑结构组件示例
?
?
?
?
稍微说一下赛瓦的 SVG 拓扑组件,总体来说效果很不错,但是有两个缺点:
一、????????????? 图中的图元数量不能太多,太多的时候会有明显的内存泄露和 CPU 占用狂高的现象(注:这是 SvgViewer 本身的问题,不是组件的问题 )。 ?
二、????????????? 交互方式方面,从上面的截图可以看出,客户端的每个动作都需要和服务器交互,然后服务器把最新的 SVG 文件(本来就是 XML 格式的)整体重新发回客户端。这样的话,实际上使用的人数是不能太多的,否则服务器的压力比较大。
?
除了这些注意点之外,这份组件是非常不错的 ,是我目前见过的最好的 SVG 应用。赛瓦的朋友说他们正在做 Flash 版的开发,很期待。
?
(以上例子中的曲线和小封装库的源码已放入附件,其它的示例不是开源的东西,所以 Sorry 了。如确有需要也可加入群 88403922 ? 来联系。 )