かつてFlashの専売特許だったRIA(リッチ・インターネット・アプリケーション)の世界が激変している。JavaScriptの高速化が進み、jQueryやYUI(Yahoo! User Interface Library)、Ext JSなどのフレームワークを使ったAjaxアプリケーションは珍しくなくなった。2012年にW3C(World Wide Web Consortium )が勧告を目指している「HTML5」をめぐる動きも、ここのところ活発化している。
こうしたライバルたちの動きを、アドビ システムズはどう見ているのか? 2010年に発売する新しいデザインツール「Flash Catalyst」のPRのため来日した、米アドビ システムズのシニア プラットフォーム エバンジェリストであるエンリケ・デュボス氏に話を聞いた。
HTML5の完成には10年かかる
――ここ数年でRIAの環境が大きく変わっています。最近はjQueryやExt JSなど、Ajax/JavaScriptを使った“プラグインレス”のRIAにも勢いがあり、Flashが売りにしていた「プラグイン普及率の高さ」の意味が薄れているようにも思います。改めて、Flash/Flexの強みはどこにあるのでしょうか。
確かに、HTMLコンテンツとインターフェイスが単純に結びついている場合は、Ajaxで十分かもしれませんね。XML、JavaScript……Ajaxを構成する技術には何も新しいものはなく、シンプルですぐに使えるのがAjaxのいいところです。
一方、Ajaxの弱点は、JavaScriptが過去から抱えてきた問題をそのまま引きずっていることです。JavaScriptのブラウザー間の互換性にはまだ問題がありますし、高速化が進んだとはいえ、パフォーマンスも十分とは言えません。クライアント側で大型のデータセットを処理しなければならないときに、パフォーマンスの問題は特に重要です。しかも、Ajaxは“フレームワークの分断化”が起きている。さまざまなフレームワークが乱立した結果、開発者にとっては非常に学びにくい状況になっています。
Flash/Flexの強みは「JIT(Just-In-Time)コンパイルを処理するバーチャルマシンである」ことなので、JavaScriptよりもFlashのほうがパフォーマンス面で優位です。(中間ファイルを生成するFlashに比べて)JavaScriptのほうがファイルサイズは小さいかもしれませんが、スループットで見たときに、同じCPUやメモリでより多くの処理を効率的にこなせるのはFlashです。また、開発者は単一のフレームワークさえ習得すればいい、という利点もあります。
もちろん、ベクターグラフィックスやエフェクトの処理、3Dグラフィックスの描画、HD動画の再生といった機能も、Flashならではの魅力です。JavaScriptやHTMLが抱えてきた問題に縛られずに、より柔軟にコンテンツを作れます。
――最近動きが活発になっているHTML5についてはどう見ていますか? HTML5はアドビにとって脅威となるのでしょうか。
HTML5の基本的な考え方は「Webの進化を加速していく」ということですから、アドビはHTML5をサポートしていますし、W3Cのワーキンググループ(WG)に参加しています。
HTML5の動向はポジティブに、同時に慎重に見守っています。HTML5の意義は、今までのHTMLがずっと抱えてきた問題に対処する、という点にあります。Webブラウザー間の分断化、互換性の無さを解決するのが、HTML5の1つの役割です。そういった意味ではHTML5をポジティブにとらえています。
ただ、HTML5はいろいろな問題を抱えています。肝心の「ブラウザー間の互換性をどうとるか」との問いに対する解決策はまだ示せていません。HTML5の目的が「スタンダードでオープンなWebを実現すること」だとしたら、HTML5をサポートするブラウザーはどれも一貫した実装をする必要があるはずです。しかし、HTML5のどの部分がすべてのブラウザーに実装されるのか、まだ分かりません。
HTML5の完成には、あと10年はかかるでしょう。アドビはHTML5のWGのメンバーとして必要な作業をしていきますが、一方ではFlashプラットフォームのイノベーションを続けていきます。
――グーグルなどのHTML5推進派の主張を聞いていると、まるで「Flashはもう要らない」と言っているようにも聞こえます。
それはグーグルの主張ですよね(笑)。たとえば先日、videoタグのことが話題になっていましたが(※)、HTML5でvideoタグを追加すること自体はWGで合意している。ところが、どのコーデックを使うか? ということになると何も決まらなかった。コーデックが決まらないで、ユーザーはどうやってビデオを楽しめるのでしょうか?
HTML5は単に新しいタグが増える、という簡単なものではありません。実は、その裏で決めなければならないことがたくさんあります。ストリーミングなのか、ダウンロードなのか? あるいはビデオにインタラクションを付けるにはどうしたらいいのか?
「ビデオが見られること」自体は何も新しいことではありません。何年も前から、インターネットでビデオは見られました。しかしフォーマットもプレーヤーもバラバラで、ユーザーが得られる体験(ユーザーエクスペリエンス)は最低でした。そうした状況を変えたのはFlashです。Flashビデオが普及したことで、もう誰もフォーマットに悩む必要はなくなった。ユーザーはビデオの視聴やインタラクティブな体験を一貫して楽しめるようになったのです。
videoタグはあくまでも一例ですが、HTML5にはさまざまな動きがあり、課題が山積しています。
※=2009年7月、HTML5の草案からはvideoタグ/audioタグのビデオコーデックに関する要件が削除された。