Apollo、JWS、XUL、etc. デスクトップとインターネットを統合するWebtopソフトウェアの開発環境を比較する
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つがインターネットとデスクトップを組み合わせることだ。開発者、マネージャ、ビジネスオーナー、ユーザはこの分野で何が起こるかに注目する必要がある。我々によるソフトウェアの利用法をすっかり変えてしまう可能性があるからだ。