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ベースのシステムである。いずれも、動作させるにはランタイム環境が必要になる。なお、これらは出来上がったばかりで、まだ一般には公開されていない。

各製品の詳細比較

 以下に、これまでに述べた製品を詳しく比較した表を示す。

 

Apollo

Java Web Start

XUL/Firefox

Dekoh

Slingshot

テクノロジ

Flash、Flex、Ajax、HTML

Java

XUL、JavaScript

Java

Ruby on Rails

ランタイムの費用

無料

無料

無料

無料

不明

SDKの費用

無料(FlashおよびFlexは要購入)

無料

無料

有料(ベータユーザを募集中)

Accelerator利用者は無料、それ以外は不明

ソースのオープン性

クローズド

オープン

オープン

クローズド

クローズド

開発の安定性

開発中

6年以上開発を継続

4年以上開発を継続

ベータ版

ベータ版

Webtop機能(オンライン/オフライン・ステート)

あり

要自作

バージョン3までは要自作

あり

あり

ローカルデータストレージ

なし

あり

なし(バージョン3でサポート予定)

あり

なし

ランタイムプラットフォーム

Windows、OS X、Linux

Windows、OS X、Linux、Solaris

Windows、OS X、Linux、Solaris

Windows、OS X、Linux、Solaris

Windows、OS X

開発プラットフォーム

Windows、OS X

Windows、OS X、Linux、Solaris

Windows、OS X、Linux、Solaris

Windows、OS X、Linux、Solaris

Windows、OS X、Linux



 プロダクトそれぞれに特徴があり、どれが適切かはアプリケーションによって変わってくる。見た目に華やかなインタラクションのある円滑で洗練されたインタフェースが求められるなら、Flashを埋め込めるApolloが最適だろう。完全な制御とロバストなツールキットが求められるアプリケーションもある。その場合は、JWSシステムが断然優れている。クライアントが自由に利用できるのであれば、DekohもSlingshotも有望だが、両者がより大手の企業に追随できるかどうかは今の段階ではわからない。ここで取り上げたすべてのプロダクトで最も完成度の高いのが、XULとFirefoxの組み合わせだ。XUL/Firefoxは最も多くのプラットフォームに対応し、(技術的にも金銭的にも)手を出しやすい。また、(SOAPやXMLを介して)既存製品に統合できるほか、開発コミュニティの活動が非常に盛んで絶えず新たな分野を開拓している。

 今後は、ここで述べたようなアプリケーションがさらに出てくるだろう。インターネットとデスクトップが進化するにつれ、開発者もユーザもより強力なツールを探し求めつつある。その場合、解決策の1つがインターネットとデスクトップを組み合わせることだ。開発者、マネージャ、ビジネスオーナー、ユーザはこの分野で何が起こるかに注目する必要がある。我々によるソフトウェアの利用法をすっかり変えてしまう可能性があるからだ。

NewsForge.com 原文