ブログ

[ActionScript3.0][Apollo]Apolloに期待する理由

2007年06月07日(木)18:00|sato

お久しぶりです。佐藤です。

まずはじめに皆さん、「Apollo」はご存知でしょうか?Apolloはadobe社が現在開発中のアプリケーション実行環境です。Flash(ActionScript)はもちろんのこと、HTMLやJavaScript等の(クライアントサイドの)WEB系技術を使って、デスクトップアプリケーションを制作することができるようになります。このApolloはまだ開発中(現在パブリックアルファ版)のため、実行環境や開発用のSDKはAdobe Lab内でしかダウンロードできません。にもかかわらず、5月23日に開催されたApollo mini Camp @ Tokyoというイベントでも、大勢の方がApolloの最新情報を聞きに来ていました。このイベントではAdobe社の方が今後のApolloの展開について最新情報を説明してくれるということで僕も大慌てで申し込んだのですが、最終的にはわずか数時間で250人も集まりすぐに申し込みを締め切ったそうです。この「Apollo」がどれほど期待されているのかがわかりますね。

先日のApollo mini Campには、僕も出席してきました。このイベントで聞くことのできた内容を参考に、今回はApolloについて書きたいと思います。とは、言っても、Apollo mini Campに関してのレポートは、既に良い記事が大量に出ていますし、あれから早10日以上、完全に時期を逸してしまいました。そこで今日はもっと根本的な事を書きたいと思います。

そもそも、Apolloにこんなにも多くの開発者が興味深々なのはなんで?

ブログなどの様々な記事をみても、「Apollo」という言葉がごく自然に登場し、ずいぶんと知名度があがったように感じます。ですが、当のApolloはいまだパブリック アルファ版で、正式版はまだまだ先の予定です。開発者側ではない一般のユーザーには、Apolloのランタイムなど、まだまったくといって良いほど普及していません。まだアルファバージョンなので当然ですが。なのに、なぜこんなに開発者側では盛り上がっているのでしょうか?僕自身もApolloの正式な登場を待つ一人として、今回はその理由について僕の意見を述べてみたいと思います。

既存のWEB系技術を使える

Apolloを使ってデスクトップアプリケーションが作れる!ってこれだけ聞いても、別にすごいことだとは思えません。デスクトップアプリケーションを制作したいなら、C#でもJavaでも他にいくらでも選択肢があるじゃないか、と思う方もいらっしゃるかもしれません。はい。確かにその通りです。別にApolloでなくても良いんです。ただ、Apolloの特徴の中で特に興味深いのは既存のWEB系技術を用いてデスクトップアプリケーションの開発ができる、という部分です。

Apolloでは一般的なブラウザが対応しているクライアントサイドの技術であれば、そのほとんどを利用できます。Flash(ActionScript)もHTMLもJavaScript(Ajax)も利用できます。さらにいえば、Flash(ActionScript)だけでもHTMLだけでもJavaScript(Ajax)だけでもアプリケーションが開発できます。つまり、現在何かしらのWEB系の開発に携わっている人の多くは、(完全なサーバーサイドの開発者でなければ)Apolloによって今すぐにでもデスクトップアプリケーションの開発者になれます。しかも、そのために新しい言語を覚える必要はありません。すなわち、既に知っている知識の中でWEBアプリもデスクトップアプリもどちらも開発ができるようになるのです。

WEBとデスクトップの境が無くなる?

さらに、WEB系の技術をそのままデスクトップアプリケーションの技術とすることで、もう一つ利点があります。例えば既に存在するWEBアプリをデスクトップアプリケーションへ、あるいはApolloアプリをWEB上でも利用できるように、そういった移行のコストが非常に小さくなります。なぜなら、基本的にはどちらも同じように動くからです。データの読み込み・保存等、WEBアプリとデスクトップアプリでは違う部分もありますので、もちろん完全にそのままというわけにはいかないとは思いますが、それでもほとんどの機能部分は再利用可能だと考えられます。作り方・使い方によってはWEBアプリをそのままApollo内で動作させて、まるでデスクトップアプリのように利用する、ということもできます。すなわち、WEB/デスクトップの両方を想定したアプリケーションやWEB/デスクトップを連携したアプリケーションなどこれまで容易にできなかったことができるようになるのです。

今より面白いことができる(かも)

おまけに、単純に今まで技術的にできなかったことができるようになります。通常WEBブラウザではhtmlのページの中にFlash(swf)がレイアウトされるスタイルになります。ところがApolloの環境内では、Flashオブジェクトもhtmlオブジェクトもほぼ同列に扱われます。よって、ApolloではFlash(swf)の中にhtmlのページをレイアウト、の中にFlash(swf)、の中にPDFを配置。のようなこともできます。また、htmlもオブジェクトとして扱われるために、ぼかし効果や回転・拡大などのエフェクトをhtmlページにかけることもできます。有効な使用状況が想定できませんが、WEB業界には独創的な方々が多々いますので、いずれ納得できる使い方を誰かが提案してくれるものと思います。なにより、大は小を兼ねる、ではありませんが、できるかできないかだったらできた方が良いに決まってます。

最後に

さて、以上がApolloを期待してしまう大まかな理由です。今回の文章には僕の主観的な意見も混ざって、長々と書いてしまいましたが、おそらくApolloを期待して待っている理由なんて、結局はみんな同じです。一言で言ってしまえば、「今、できないことが、Apolloでできるようになるから」ですね。

WEB系の開発者の中にも、ApolloはFlashに似たようなもの、なんて考えて意識してなかった方もいるのではないでしょうか?先ほども書いたとおり、Flashが使えなくとも、HTMLやJavaScriptだけで十分です。現在は、パブリック アルファのApolloですが、夏ころにはパブリック ベータが、そして2007年の秋ころにはApollo1.0としてリリースされる予定だそうです。まだまだ時間がありますね。少し触ってみてはいかがでしょうか?

注)「Apollo」とは開発コード名なのだそうです。なので、実際の正式リリース時にはApollo1.0ではなく別の名前になるようです。

この記事に関するお問い合わせはこちら

ページの先頭へ