インターネットの世界では、デスクトップアプリケーションのような機能と操作性を持つ“リッチクライアント”(RIA:Rich Internet Application)が全盛だ。米アドビシ ステムズ(Adobe Systems)社もこのRIAに新たな流れを作りだそうとしている企業のひとつである。
OSからウェブにシフトするプラットフォーム
アプリケーションを実行するための“プラットフォーム”と言えば、従来はWindowsやMacといったOSを指すのが一般的だった。しかし近年こうした状況が大きく揺らぎつつある。ソフトウェアをサービスとして提供し、ネットワーク越しにその機能を利用するというスタイルが企業/個人を問わず台頭してきたためだ。
現在で言えば、Ajaxの仕組みを用いたサービスが主流になっている。Ajaxは“Asynchronous JavaScript + XML”の略である。Ajaxでは、ウェブページを表示したままバックグラウンドでデータ通信を行なう。また、JavaScriptの機能を利用して、再読み込みなしにブラウザーの表示内容を変更できる。これにより、プラグインのインストールや画面遷移のためにいちいちページを読込み直す必要なく、インタラクティブに動作するウェブコンテンツを作成することが可能になった。
Ajaxを利用したサービスには、米グーグル(Google)社が提供する“Gmail”や“Google Maps”などがある。これらのサービスは、ユーザーのマウス操作に対してポップアップメニューを表示するなど、それ以前のウェブアプリケーションにはない、リッチな操作感を実現している。冒頭で出てきたRIAはこうしたウェブアプリケーションを指しており、Ajax以外にもFlashやJavaアプレットなどの仕組みを使って実現することも可能だ。
そんな中、新しい流れとして注目したいのが、ウェブブラウザーの垣根を越えたRIAという存在である。高度なインターフェースを求めれば、求めるほど、足かせになっていたウェブブラウザーの機能制限を乗り越えようという試みだ。例えば、米マイクロソフトはそのためのプラットフォームとして“Windows Presentation Foundation”(WPF)を、アドビは“Apollo”(アポロ)と呼ばれるデスクトップRIAの実行環境を発表それぞれ発表している。
“Apollo”が示すデスクトップRIAの可能性
アドビはApolloを“Web技術+脱ブラウザ=デスクトップRIA”と解説している。Apolloを使うには、専用の実行環境(これがApollo)をWindowsパソコンやMacintoshといった自分のマシンにインストールするだけ。これでHTMLやFlash、XMLといったウェブサービスと同じ技術を使うApollo用のアプリケーションが、ローカル側で実行できるようになる。
Apolloならアプリケーションを実行するのにウェブブラウザーの制約を受けないし、ローカルのファイルやクリップボードにもアクセスできる。ちょうど、Javaの実行環境をインストールしておけば、WindowsやMac、携帯用などさまざまなプラットフォーム上でJavaアプリを動かせるのと似た感じだ。
ではデスクトップRIAでは、実際、何ができるのだろうか? ここではアドビシステムズ(株)が6日に開催した記者発表会で披露された、3つのデモアプリケーションを紹介しよう。
1つ目は、ローカルのハードディスク内にある音楽ファイルを管理/再生するMP3プレーヤーだ。Ajaxなどを利用した“従来の”ウェブアプリケーションでは、ローカルにあるファイルの扱いに制限があったが、Apolloを利用すれば、こういったファイルもサービス上でシームレスに利用できる。高度なグラフィック機能を利用したビジュアライザーやオンラインコンテンツとの連動も可能だ。
2つ目は、Google MapsのAPIを利用した地図ソフトである。Apolloを使えば、GoogleやAmazon、価格.comといったデータソースを提供するウェブサービスからデータを取得する“マッシュアップ”も無理なく実現できる。
最後が、ウェブページをiTunesのアルバムジャケット表示画面のようにサムネイルで表示するというソフト。レンダリングされたHTMLファイルをFlashの画像オブジェクトとして扱うことで、このような多彩な表現が可能になるという。
繰り返しになるがApolloはあくまで実行環境で、Apollo用アプリケーションの開発には、『ColdFusion』や『Adobe Flex』といったアドビのウェブ開発系ソフトを使うことになる。発表会では、ColdFusionの次世代版となる“Scorpio”(スコーピオ)の新機能も明らかにされた。後半ではこの開発ツールを詳しくお伝えする。