血塗られたSVGの歴史!?
冒頭でも触れましたが、このSVGはこの世に誕生した(勧告された)のが2001年9月とかなり昔です。しかし、SVGは祝福されて誕生したわけではなく、企業同士の激しい規格戦争の間で生まれたようです。
SVGが誕生する前、ベクタ形式の画像を描画するXML言語は2つありました。1つはマクロメディア、マイクロソフト、HPなどが推す「VML」(Vector Markup Language)。もう1つはサン・マイクロシステムズ、アドビシステムズ、IBM、ネットスケープが提唱する「PGML」(Precision Graphics Markup Language)です。以前、この連載で「ブラウザ戦争」のことを書きましたが、似たような対立軸ですね。
その結果、Webの標準化団体であるW3Cがこの2つの規格を統合して「SVG1.0」を生み出しました。「お互い対立し合っていたけど、統合しました! みんな納得してね」とW3Cは考えたのかもしれません(参考「W3C/XML Watch - 10月版(2001年)」)。が……。
■使えるアプリが少ないSVG
あれだけ激しい戦争をしていたにもかかわらず、統合された規格には皆さん興味がなくなったのか、2008年2月現在SVGをサポートしているアプリケーションは多くありませんし、知名度もありません。
Webとの親和性が高いにも関らず、IE 5.5、6では、AdobeのビューアなどのプラグインをインストールしないとSVGの画像は閲覧できません。また、最新のIE7でも同様にSVGをサポートしておらず、ビューアを別途インストールしなければなりません。
また、筆者の環境のFirefox 2.0ではなぜか閲覧できたり、エラーになって見れない場合がありました(Firefoxは1.5からSVGをネイティブサポートされているはずなのですが)。閲覧できない場合は、図11のようにプラグイン不足のエラーがでます。
しかし、プラグインをインストールしても見れない場合もあるようです。また、複雑なSVG画像も閲覧する際に、Firefoxではフリーズしたり重くなったりすることが多々ありました。もし、SVGをバリバリ閲覧したい人は、Opera 9の方がストレスなく利用できると思います。
「眠れる獅子」が実力を発揮する日が来るのか?
非常に魅力的な画像形式であるSVG。JavaScriptライブラリや各種Web APIを組み合わせて活用すれば、強力なリッチコンテンツを生成・提供可能です。しかし、Webブラウザの9割近くのシェアを誇るIEがサポートをしなければ、いくら魅力的なコンテンツでも、ユーザーにとって利用するのが難しいものになっています。
目下、「眠れる獅子」状態のSVGですが、Ajaxで復活したJavaScriptのように、現在は人気がなくてもその秘めたる実力を発揮する時期がいつか来るかもしれませんね。
今回の3行まとめ
- SVGはベクタ形式の画像で、拡大縮小しても美しく・デザイン面、印刷面でも優れている
- XML形式で記述されているので、XMLの利点がそのまま生かせる
- IEがデフォルトでSVGをサポートしていないのが、利用されるのにネックになっている
- 開発現場のUIトラブルを解決!? 画面プロトタイプ入門
- いまさら聞けない「Curl」入門(お菓子じゃない方)
- いまさら聞けない「オフラインWeb」入門──オフラインでも使えます
- いまさら聞けない「SEO」入門──検索結果の最適化
- いまさら聞けない「Webブラウザ」超入門 後編
- いまさら聞けない「Webブラウザ」超入門
- いまさら聞けない「マッシュアップ」超入門
- いまさら聞けないSVG、なぜ知られていないのか?
- いまさら聞けないActiveX&デジタル証明書入門
- いまさら聞けないウィジェット/ガジェットで気分転換
- “リッチクライアント”に至るまでの軌跡と現在(いま)
- いまさら聞けない! FlashとActionScriptについて
- いまさら聞けない“Web標準”、そしてXHTML+CSS
- いまさら聞けない、“Ajax”とは何なのか?
- いまさら聞けないJavaScript入門
- いまさら聞けないWeb2.0時代のXML入門
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- SVGを殺すのは誰か
- SVGとは何ですか?
Java Solution FAQ SVGとは、Scalable Vector Graphicsの略で、その名前が示すとおり、スケーラブルなベクタ形式のグラフィックスを定義するための技術です - SVGって何?どうやって利用するの?
Ask XML Expert XML文書のデータをもとにチャートなどを作成する「SVG」という言語があると聞きました。どのような言語で、どのように利用すればいいのですか?