Apollo、JWS、XUL、etc. デスクトップとインターネットを統合するWebtopソフトウェアの開発環境を比較する

 最近、AdobeがApolloというコードネームを持つクロスプラットフォームのWeb対応ランタイム環境を発表してメディアを賑わせた。この環境により、開発者は、Webのコンテンツを利用しながらも直接デスクトップ上で動作するアプリケーションを開発できる。Adobeは、Flash、Flex、HTML、Ajaxといった既存テクノロジの活用を目指してApolloを構築している。Apolloは素晴らしいコンセプトだが、新しいアイデアではない。2001年にはSun MicrosystemsがJava Web Startをリリースしており、Mozilla FoundationはFirefox開発時にXULを生み出している。この市場への参入を図る新興企業も何社かある。各社の製品はすべて、Webアプリケーションをデスクトップで実行するという同じ狙いで作られている。

Apollo

 Apolloはランタイム環境なので、Apolloを利用したアプリケーションを実行するには、ターゲットマシンにApolloをインストールしなければならない。このランタイムは、AdobeのFlash PlayerやPDF Readerと同様、すべてのエンドユーザに無償で提供されている。Apolloソフトウェア開発キットもフリーだが、今のところ、対話的な開発環境は必要とされていない。Apolloは、Adobe製品ゆえに、FlashやFlexなど同社の既存製品を利用するように作られている。

Java Web Start

 Sunは、Webアプリケーションとデスクトップアプリケーションを組み合わせる活動に何年も前から取り組んでいる。Java Web Start(JWS)はこれまでのアイデアを拡張したもので、開発者による標準Javaアプリケーションの構築とWebでの配布を可能にする。開発者は、JWSを使ってエンドユーザのアプリケーションを自動更新するアップデートを公開できる。JavaとJWSを使って、ちょっと手間をかけてスクラッチからその機能を作り上げようという気持ちがあれば、オンラインでもオフラインでも動作する真のWebtopアプリケーションを開発することができる。

XUL/Firefox

 XULは、あらゆるMozilla製品を強化するXMLベースのインタフェース言語であり、JavaScriptと組み合わせれば、リッチクライアントアプリケーションの開発が可能になる。また、XULアプリケーションは、Mozillaフレームワーク上で実行されるランタイムアプリである。こうしたXULアプリケーションは、Firefoxの拡張機能として作られることが多いが、スタンドアロンのアプリとして開発することもできる。来たるべきFirefox 3では、ローカルデータストレージのほか、本当の意味でのオンライン/オフライン・インフラストラクチャが利用可能になる。つまり、こうしたオンライン/オフライン・インフラはすぐに利用できる状態にはなく、独自にソリューションを用意すれば実現できるというのが現状だ。

その他の製品

 ほかにも最近登場した製品がいくつかある。DekohはJava上に構築されており、小さな内部Webサーバを利用してインターネットとローカルネット上にあるDekohのほかのインスタンスとの通信を可能にする。また、ソーシャルシェアリングの環境も含まれている。Slingshotは、少しもコードを変更することなく既存のRoR(Ruby on Rails)アプリケーションを実行できるRoRベースのシステムである。いずれも、動作させるにはランタイム環境が必要になる。なお、これらは出来上がったばかりで、まだ一般には公開されていない。