一口にRIA技術といっても製品はいくつかあり,それぞれに特徴がある。では,ユーザー企業はどのような視点でRIA技術を選べばよいのだろうか。以下でポイントを見てみよう。

 RIA技術は,ダイナミックなアニメーションや動画を簡単に扱えるものと,企業向けのシステムに特化したものとに大別できる(図3)。前者はFlashやSilverlight,AIRなど。後者はBiz/BrowserやCurl,Nexawebといった製品である。アニメーションなどで“魅せる”ことを重視しながら操作性を高めるか,質実剛健に操作性の向上を狙うかで選択肢が変わると言える。

図3●RIA技術・製品の位置付け
図3●RIA技術・製品の位置付け
Biz/Browser,Curl,Nexawebは事実上企業向けシステムに特化している。JavaFXは開発中の技術で広範囲での活用を目指す。

FlashとSilverlightの機能はほぼ同等

 “魅せる”タイプのRIA技術に分類したSilver-light,Flash,WPF,AIRは,それぞれがマトリックスを築く関係にある(図4)。

図4●「AIR」と「Silverlight」で新たな競争が起こる
図4●「AIR」と「Silverlight」で新たな競争が起こる
アドビシステムズはWebの世界からデスクトップの世界へ,マイクロソフトはデスクトップの世界からWebの世界へ進出。Webとデスクトップの両方でデファクト・スタンダードを狙いたいという両社の思惑は同じだ。

 まず前提として踏まえたいのは,FlashとSilverlight,AIR,WPFでは,開発できるアプリケーションの機能という点で,それほど大きな違いがないということである。例外はパソコンのローカル資源へのアクセス機能といった部分。話題のSilverlightとFlashに関しても,RIAの開発者は「現時点では本質的にSilverlightとFlashに大きな差はない。SilverlightでできることはFlashでもできるし,その逆も同じ」と口をそろえる。

 もちろん,細かな機能の違いはある。Flashは高精細のHD(high definition)動画をH.264コーデックで扱うが,Silverlightはマイクロソフトが開発したVC-1コーデックを用いる。業務アプリケーション向けの機能ではないが,Silverlightは2008年内にリリース予定のバージョン2.0で,動画の不正コピーを防ぐDRM(ディジタル著作権管理)機能が加えられることになっている。DRMは今のところFlashにはない機能だ。もっとも,これらの違いの影響が及ぶアプリケーションは動画配信サービスなどに限られる。

 実はSilverlight 2.0では,WPFの主要な要素を取り込み,ほかにも機能が強化される。テキスト・ボックスやフォームといった画面表示/操作コントロールへの対応,RESTRSSなどWebサービス向けプロトコルへの対応などである。現在公開されているSilverlight 1.0は,これらの機能をサポートしていない。

 2.0の登場に合わせて,サード・ベンダーもSilverlight向けのアドオン・ツールを提供する。ソフトウエア・ベンダーのインフラジスティックス・ジャパンは「バージョン2.0の登場に合わせて,Silverlight用の『チャート』や『ゲージ』といったUI(ユーザーEインタフェース)コントロールの製品を提供する予定」(デビッド・クーニング代表取締役)としている。これらのUIコントロールはSilverlightによる業務アプリケーション開発を効率化するものだ。

ポイントは対応OSや開発環境

 こうした細かな違いで気になる点がないのなら,選択のポイントは次の三つに絞られる。(1)スタンドアロンで使いたいかどうか,(2)マルチOS対応の必要があるかどうか,(3)開発環境は何であるか,である。

 RIAは動作環境から見るとブラウザ型とスタンドアロン型に分けられる。具体的にはFlashとSilverlightはブラウザ型,AIRはスタンドアロン型,WPFはどちらも開発できる両用型である。

 ブラウザ型であればシステム管理者にとってはバージョンアップなどの作業が楽になる。エンドユーザーは利用するたびにWebサーバーにアクセスしてRIAを取得する仕組みになるからだ。エンドユーザーもインストールの手間がかからないなど手軽に利用できる。

 ただ,ブラウザ型はネットワークに接続していることが前提。Webサーバーに接続できなければアプリケーションは利用できない。エンドユーザーからすれば,ブラウザを起動してWebサーバーにアクセスするという一手間が余分にかかる。実現したい機能によっては,ローカルEディスクにデータを保存できないことなどもデメリットになるだろう。

 この点,スタンドアロン型ならローカルのハード・ディスクに保存したアプリケーションを直接起動できる。ネットワークに接続していない場合でもローカルに複製したデータを使うなどしてシステムを利用できる。こうした使い方をしたいアプリケーションには,AIRやWPFの方が適する。

 プラットフォームに依存しない動作環境を重視する場合は,選択肢はブラウザ型かAIRになる。FlashはすでにWindows,Mac OS X,Linuxをサポート済み。Silverlightは,Mac OS Xにも対応するほか,「Monoプロジェクト」というオープンソースの団体が「Moonlight」と名付けたLinux版Silverlightを開発中である。

マルチOSの評価が高いAIR

 スタンドアロン型のAIRも,Windows,Mac OS X,Linuxに対応する計画である(写真4)。AIRはマルチOS対応のスタンドアロン型RIAであることが高く評価されており,業務ソフト大手のSAPジャパンもAIRで開発したクライアントの提供を予定している。ただし,AIRの現在(2008年1月)のバージョンはベータ3で,日本語の利用には制限がある。アドビでは2008年半ばにAIRにおける日本語環境の完全対応を予定している。

写真4●一つのアプリケーションがWindowsとMacで動く
写真4●一つのアプリケーションがWindowsとMacで動く
AIRで作られたRSSリーダーをWindows(左)とMac(右)で実行した。

 対するWPFはWindows環境でしか利用できない。ただ,ユーザー企業のクライアント環境がWindowsだけというような場合ならWPFで全く構わない。Windows Vistaを導入している企業なら,クライアントEパソコンに実行環境をインストールする手間を省けるメリットも見込める。

 開発環境の視点で考えると,「Silverlight/WPF」vs「Flash/AIR」という構図になる。前編でも説明したように,SilverlightとWPFはJavaScriptやVisual Basic,C#,RubyPythonといったプログラマがよく使う言語で開発できる。特にマイクロソフトの技術に慣れた開発者であれば,SilverlightかWPFということになるだろう。

 FlashやAIRの開発言語はActionScriptである。まだActionScriptになじみのない開発者が多いかもしれないが,2006年にリリースされたバージョン3.0でオブジェクト指向プログラミングが可能になった。「ActionScriptバージョン3.0とC#などとの間に,開発生産性の面で大きな違いはないだろう」(多数のRIA開発を手がけるクラスメソッドの横田聡代表取締役)といった意見が多い。