至少在10年前,人们就建议对 Web 图形技术进行改造,而 Google 认为,现在已经是时候了。Google 上周五主持召开了 SVG Open 2009 大会,讨论有关 SVG (Scalable Vector Graphics (SVG)) Web 图形标准的问题。随着众多浏览器厂商以及 Web 开发者对 SVG 的支持,这种可用于 Web 的矢量图形标准很有可能在最近几年成为主流。
正如 Google 的开发工程师 Brad Neuberg 在大会中所言,新的编程标准虽说很难形成,但它们确实来了,他说,一开始它们被忽视,接着被炒作,接着被宣布死亡,最后发现,它们是真正能解决问题的技术。
点阵图,放大后会变虚
SVG 让图形任意发达而保持质量不变
矢量图使用直线,曲线,几何图形,色彩值表述图形,而 JPG,GIF 一类的点阵图使用点阵描述图形,前者拥有更小的文件尺寸,不变的缩放质量,比如,我们可以看一下 SVG 版的 Wikipedia 标志,即使放大到整页大小,质量也不下降。
然而 SVG 仍未广泛进入 Web 开发者的圈子,一方面,因为占据主导地位的浏览器 IE 仍不支持这种技术,Neuberg 认为,如果主流浏览器不支持,你就不敢轻易部署。
不过,Google 和它的同盟们正在改变这一现状,Chrome, Firefox, Safari, 以及 Opera 都支持 SVG,而鉴于微软是这次会议金牌赞助商,相信 IE 也将在这方面有所作为。
在一项 Web 开发者的调查中,矢量图成为最受期待的功能,这让 Google 更有信心推出一款叫做 SVG Web 的软件,该软件旨在帮助那些不支持 SVG 的浏览器实现 SVG 支持。Neuberg 说, 对于那些支持 SVG 的浏览器, SVG Web 会将 SVG 渲染任务交给浏览器,对于不支持 SVG 的浏览器,则会生成一个 Flash 对象渲染 SVG 图形,虽然这种机制永远赶不上本地 SVG 的渲染速度,但可以很好地帮助 Web 开发者实现矢量图功能。
Google 计划在大会中展示他们同 Wikipedia 一起使用 SVG 技术的果实,具体的技术部署可能还需要一到两个月。
SVG 的一个问题是,它属于正在消亡的 XHTML Web 语言的一部分,然而,HTML 5 标准已经明确地将 SVG 放到一等公民的位置。
在 Web 浏览器中实现矢量图,还有另外一种技术,就是 HTML 5 的 Canvas。Neuberg 说,Canvas 最适合在屏幕上画图,而 SVG 最适合对矢量图进行处理,在 Adobe Flash 和 微软 Silverlight 中,SVG 和 Canvas 都被支持。
当然,如今矢量图领域最大的竞争者是 Adobe Flash,拥有大量的用户基础,而 Adobe 的 FXG 技术更是锦上添花,使 SVG 在 Flash 中得以实现。
Neuberg 表示,矢量图还有一个优势,它的描述语言可以被搜索引擎索引,和 HTML 一样,可以拥有链接地址,它是 Web 的一部分,可以和别的技术交互,它并不是一个被封锁在盒子中看不到的东西。