注目の書籍

好評発売中!

IT業界徹底研究就職ガイド2013年版

IT/ネット業界で働くと いうことを分かりやす く解説。2013年3月卒 業の学生向けの1冊。

必聴講座ご紹介

Cloud Days Tokyo 2012
クラウド時代を勝ち抜く企業戦略を考える

エムオーテックス


Cloud Days Tokyo 2012
クラウド時代の企業インフラとユーザー環境の姿

ヴイエムウェア


Cloud Days Osaka 2012
クラウドでIT維新を〜ビジネスを加速させるベストプラクティス

アマゾン データ サービス ジャパン

情報システム
あなたの企業で使うWeb2.0 ITpro

最終回:「Apollo」に次世代アプリの姿を見る

2007/04/10

ウルシステムズ
主席コンサルタント
中村 正弘



 連載の最終回となる今回は,Web2.0の少し先に目を向けてみたい。取り上げる題材は,次世代のアプリケーション・プラットフォームとして各所で注目を集めている「Apollo」だ。Apolloはアドビシステムズが開発中のデスクトップ・アプリケーションの開発・実行環境である。Apolloの設計思想や盛り込まれている機能は,まさに「Web2.0の次」を感じさせるものだ。

Web技術でデスクトップ・アプリを実現

 まずはApolloによるアプリケーションの一例である「ScreenPlay」を紹介しよう。図1を見ていただきたい。赤い円と,その赤い円で囲まれた小さなウインドウがある。ウインドウで線の色や太さを指定すると,デスクトップ上にマウスで自由に線を描けるというものである。ご覧のように,ウインドウは透過処理されている。

図1
図1●Apolloのサンプル・アプリケーション「ScreenPlay」の画面例
[画像のクリックで拡大表示]

 このようなデスクトップ・アプリケーションを実現するためには,これまでVisualBasicなどクライアント向けのアプリケーション開発技術を使う必要があった。ところがApolloを使えば,HTMLやFlashといったWebアプリケーション技術で,このようなデスクトップ・アプリケーションを実現できるのだ。最近はWebアプリケーション技術に高い関心を示す技術者が増えている。開発者リソースの有効活用という意味でも,Apolloは歓迎すべきプラットフォームと言える。ScreenPlayやその他Apolloで書かれたサンプル・アプリケーションはアドビシステムズのWebサイトで自由にダウンロードできるので,ぜひ一度触れていただきたい。

 Webアプリケーションでは実現できない機能を実装するために,Apolloでは次のような機能を使うためのAPIが用意されている。

 ・クライアントPCへアプリケーションをインストールするためのインストーラーの作成
 ・アプリケーション・ショートカットの作成(Windowsのデスクトップショートカットやクイック起動のようなもの)
 ・ドラッグ&ドロップ
 ・クリップボードへのアクセス
 ・アプリケーション間通信
 ・ローカルファイルへのアクセス

 このようなAPIを,FlashやAjaxで書かれたアプリケーションから利用できる。今まさに主流となりつつあるWebアプリケーションの技術を使いながら,デスクトップ向けとして十分な機能を持つアプリケーションを開発・実行できる――。Apolloは,こうしたプラットフォームを目指しているわけだ。Apolloは3月下旬にαバージョンが登場したばかり。アドビシステムズは2007年中に正式版をリリースする予定だ。

 Apolloの特徴はそれだけではない。基本的に,Windows,MacOS,LinuxいずれのOSでも,アプリケーションの同じ動作を保証する。Apolloのアプリケーションを実行するためには,クライアント・パソコンに専用のランタイム・ソフトウエアをインストールする。アドビシステムズはランタイムをWindows,MacOS,Linuxそれぞれに用意している(注1)。OSの違いをこのランタイムで吸収する。つまり,ApolloではWebアプリケーションの技術を使いながら,OSの違いを超えたクロスプラットフォームのデスクトップ・アプリケーションを開発できるのだ。これはコンシューマ向けソフトの開発者に限らず,企業情報システムの開発者にも大変魅力的な特徴と言える。

(注1)現在公開されているαバージョンでは,Linux版は用意されていない。

 いま,企業システムの多くがWebベースに移行してきている(前回の記事を参照)。Web技術でデスクトップ・アプリケーションも開発できるということは,開発ノウハウの蓄積,技術者の確保,フレームワークの整備など開発効率の向上といった点で有利である。

 ただしApolloでどんなデスクトップ・アプリケーションも開発できる,というわけではない。Apolloの開発言語はアドビシステムズ独自の開発言語である「ActionScript」と,Ajaxの開発言語でもあるJavaScriptである。当然のことではあるが,アプリケーションの種類によってはCやC++でなければ開発できないアプリケーションも存在する。例えば「DirectShow」でWebカメラを制御し,動画を撮影するといったアプリケーションは,Apolloでは開発しにくいだろう(注2)

(注2)Apolloでこの種のアプリケーションが組めるかどうかは,2007年3月時点では情報が少ないので断言はできない。

>>Javaとの違い
次ページ以降はITpro会員(無料)の方のみお読みいただけます。
会員の方は、 ログインしてご覧ください。
まだ会員でない方は、ぜひ登録(無料)していただき、ITproの豊富なコンテンツをご覧ください。

この記事に対するfacebookコメント

nikkeibpITpro

読みましたか? 〜 未読記事をご紹介