週刊SVG

SVGの最新ニュースや制作のコツなどの情報を毎週お知らせ

SVGはFlashの代わりにはなりません、なりませんよ。

#SVG_Column

SVG関連の情報を調べていると、ブログの記事の感想として

「SVGはFlashの代わりにならないのか?」

といった意見を目にすることがままあります。

また現状スマートフォン(iOS, Android)ではFlashが使えないこともあってか、代替する技術としてSVGに関心を持つ人も少なくないようなのですが、この際はっきりと断言するとSVGはFlashの代わりにはなりません

FlashとSVG

Adobe Flashは豊かな表現力と多彩な機能からアニメーションやゲーム、また映像再生や画像処理など様々なWebサイトで利用されている……のは改めて説明するまでもないですね。ただ難点としてはブラウザで見るならばプラグインを導入しなければならない点で、またスマートフォンの環境では閲覧できません。

そのため近年は代替技術が求められているわけです。SVGも一応アニメーションはできるもののSMILはFlashのようなアニメーション制作とは程遠いですし、単純な演出ならともかく複雑なアニメーションは難しく、なによりも描画処理が重いのが大きなネックです。

なぜFlashの代わりになる、といった誤解が生まれたのか?

この辺りは実際にSVGで試行錯誤や検証作業を行ってみた経験があればすぐに分かると思うのですが、もちろん利用したことのない人ならば誤解するのは無理からぬことです。しかし、そもそもなぜそのような認識が浸透してしまったのでしょうか?

それには10年以上さかのぼる経緯が影響しています。

Flashの話からはちょっとずれますが、SVG昔話に少しおつきあい下さい。

SVGの歴史

SVG1.0がW3C勧告されたのは2001年9月5日です。当然、策定作業はそれよりも前から始まっていました。

そんなSVG前史を整理しています。

1996年5月

GIFやJPEGのようなラスター画像とは異なり、拡大や縮小または編集の容易なベクター形式での表現が将来的に需要が高まると見込まれていましたから、この頃にW3C(World Wide Web Consortium)がベクターグラフィックス描画言語を募集しています。

W3C Scalable Graphics Requirements

1998年

募集を受けて1998年4月にAdobeを中心に「PGML(Precision Graphics Markup Language)」が提案されます。

続いて、同年5月には「VML(Vector Markup Language)」も提案されました。

当時のニュース記事だとこちら

最終的にはこのような提案が各社・各団体からされることになります。

  • Web Schematics - CCLRC
  • PGML - Adobe, IBM, Netscape, Sun
  • VML - Autodesk, Hewlett-Packard, Macromedia, Microsoft
  • HGML - Orange, PCSL, PRP
  • WebCGM - Boeing, CCLRC, Inso, JISC, Xerox
  • DrawML - Excosoft

その後、同年8月から仕様の策定作業が始まることとなりますが、結果的には「PGML」「VML」の影響が大きくSVGに反映されました。

1999年

1999年2月に SVG 1.0のFirst Public Working Draftが公開されます。

その後は最終草案勧告候補勧告案ときて、最終的に2001年にW3C勧告となりました。

2000年

2000年6月 AdobeがAdobe SVG Viewerを公開します。IE用とNetscape用のプラグインでいち早くブラウザでSVGを体験できる機会でした。

またSVG出力機能が標準搭載されたAdobe Illustrator9.0がリリースされます。さらにはIllustrator8向けのSVG出力プラグインというのも当時はリリースされていたようですね、ページが残っていないためInternet Archiveより。

ここまでのまとめ
  • 1996年5月 W3Cがベクターグラフィックス描画言語を募集
  • 1998年4月 Adobeらが「PGML」を提案
  • 1998年5月 Microsoftらが「VML」を提案
  • 1998年8月 W3CがSVGの策定作業を始める
  • 1999年2月 W3CがFirst Public Working Draftの公開
  • 2000年6月 Adobe SVG Viewer, Illustrator9.0
  • 2001年9月 W3CがW3C勧告

というわけで長々とSVGの歴史を説明してきました。

ではこれがFlashとどう関係あるのか?というと、当時Adobeが「PGML」を提案した頃にこのような文章をWebサイトに公開していました。

PGML Q&A - AdobePDF版

table要素でレイアウトされていたりと、かなり古いページですがなかなか興味深い記述があります。特にこの辺りについて

Q. PGMLは、MacromediaのFlashのファイルフォーマットと比較してどのような特徴がありますか?

A. Flashは現在、オープンな規格ではなく、独自形式の、バイナリーファイルフォーマットで、ブラウザーと接続するためにはプラグインを必要とします。既存の各種のWeb規格ディレクションとの互換性や対話性がありません。PGMLは、完全にオープンな規格であり、ブラウザーに組み込まれることになるため、プラグインが必要ありません。PGMLには、アニメーションを含め、Flashファイルフォーマットが持つほとんどの機能が組み込まれており、しかもオープンな規格であるという価値があります。PGMLのオープンな仕様の詳細については、W3Cワーキンググループによって まとめられ、W3Cによってコントロールされることになります。アドビは、バイナリーファイルフォーマットに匹敵するサイズのファイルを作成するPGML圧縮アルゴ リズムを提案することになります。

PGML Q&A - Adobe

AdobeはFlashについて随分強気に「PGML(つまり後のSVG)」の優位性を主張しています。

若い人はこれを読んだら、なぜFlashについて当のAdobeがこんな意見を書いているのか?不思議に思うかもしれませんね。なぜならば、当時FlashはAdobeのライバル会社 Macromediaのものだったからです。

Macromedia FlashとSVG

1998年当時はFlashはMacromediaのもので、ブラウザのプラグインの普及率や知名度ともに高いものでした。

Adobeとしてはそれに対抗意識があったためか、SVGに力を入れることでMacromediaの牙城を少しでも崩したい……と考えていたのかもしれません。そのためIllustrator、SVG Viewerプラグインも含め開発リソースを投入していましたし、Flashを使わなくてもSVGで!と煽っていた部分があります。

アドビはSVGの発展を加速させるよう全力を傾けます

アドビはあらゆる可能な開発チャンネルを通じて、できるだけ多くのデスクトップ・マシンで可能な限り迅速にSVGを表示できるようにするために、全力を投入して行きます。

Adobe - SVGゾーン

2000年ごろに公開されたSVGについての解説ページでも力強い宣言をしていますし

結論として

つまり「SVGはFlashの代わりになる?」といった認識の発端は、旗振りをしたAdobeにあるのではないか?というのが結論です。

確かに1998年頃のMacromedia Flashはバージョンも3ぐらいで今に比べれば機能も少なく、SVGならばいずれはライバル会社を打倒できる……という展望を抱いていたのかもしれません。

しかしその後、2005年にMacromediaをAdobeが買収します

AdobeはFlashを手に入れ、SVGは対立する存在ではなくなり、Adobe SVG Viewerも2008年でサポート終了となりました。そしてFlashはAdobeによって開発が進みさらに高機能になっています。

スマートフォンの問題などさまざまな課題はありつつも、FlashはWebの表現技術として最高峰であることは疑いようがなく、その代わりはSVGでは到底務まらないです。


私はTwitterやブログを検索していて、

SVGをFlashの代替技術として試行錯誤するも → 挫折

……というパターンをいくつも見ているので、警鐘も兼ねてここで再び断言しておきます。

SVGはFlashの代わりにはなりません。

Flashの代わりにはならない、が……

散々Flashの代わりにはならない!と繰り返してきましたが、SVGなりの方法で表現の幅を広げる試みを否定しているわけではありません。

例えば2011年にはIE9のリリースに合わせてSVGを使ったアニメーション映像作品「SVG Girl」が公開されています。

IE9のSVGサポート開始とともに、リッチなアニメーション表現に当時 注目を集めました。

また今週の紹介記事でも取り上げたように、

Super Hexagon (Game & Watch) by KaiClavier

SVGを活用したゲームや、Flashからアニメーションを書き出せる拡張機能も登場しています

拡張機能Snap.svg Animatorを使ってFlash Pro CCからSVGを書き出そう - ICS LAB

こうしたツールの発展や、端末の処理速度向上によってSVGでも出来ることは広くなっていくでしょう。私の意見としては要はFlashを目標にすると茨の道すぎるので、SVGの出来る範囲・出来ない範囲を見極めてSVGの活用の幅を模索していくのが良いのではないでしょうか。

参考リンク

SVGの歴史についての参考リンク