2013/04/28


Excelsior Jet
- 奇跡も、魔法も、あるんだよ -


Excelsior社のメインプロダクト「Excelsior Jet」の新バージョンについて、丁寧な対応をして頂いたことに気を良くし、感謝の意味も込めてExcelsior Jetについて語ってみたいと思います。

Excelsior JetはJavaアプリケーションをWindowsネイティブ実行アプリに変換してしまう魔法のツールです。
これを聞いて「えっそんな馬鹿な!?」とか「その手のは良くあるよね」とか反応が返ってきたりします。
Javaアプリケーションをwindowsアプリケーションのように実行ファイルをダブルクリックするだけで起動するツールは確かに何点かありますが、そういう類のツールとは決定的に違う点があります。
それは、「本当にWindowsのネイティブアプリケーションに変換し、JRE無しで単独で起動可能になる」ことです。

Javaアプリケーションを動かすためにはJREが必要になりますが、これがエンドユーザにインストールさせることがに意外に敷居が高く、1つの悩みの種になったりします。しかしExcelsior Jetを使用するとこれが不要になります。なぜならばExcelsior Jetで変換されたアプリケーションにはJRE相当が統合されるからです。
このことは非常に画期的な効果をもたらします。一体どういう事なのか?

それは以下の従来の常識を覆す利点が発生します。

@JREのインストールが不要
A動作確認済みのJavaバージョンでのみ起動させることが出来る
B統合されたJREは外部から操作することは出来ないため、Java特有のセキュリティホールの影響されない(はず)

このような説明だけでは分からないと思うので、論より証拠、具体的なサンプルを起動させてみれば実感できるでしょう。
例えば拙作の画像処理用アプリ PngTrimmer 2 はJavaで作られていますが、Vectorに公開されているのは純粋なWindowsネイティブアプリケーションです。JRE無しで単独で起動が可能です。さらに去年まではウィンドウをレイアウトするLayout Windowも同様にExcelsior Jetを使ってネイティブなアプリケーションとして公開していました。現在は諸事情により全てC++で書き直してリニューアルしています(なおレビューサイトに取り上げられていない無名なアプリケーションではありますが、ダウンロード数から判断するに結構な人気があるようです。窓の杜で是非取り上げて欲しいですねー。ちなみにExcelsior Jetの簡単な使用レポートも載せています。)

そして利点はJREが不要になるといううことだけではありません。
ネイティブ実行アプリになるということにあるのです。
これは次の利点があります。

@実行速度が向上する
 経験的に言うと約2倍程度は早くなります。実際に目の当たりにするとそれ以上に感じることでしょう。なにも処理を変更していないにも関わらず性能が極端に向上するのですから。これが10%、20%の向上とかだったらどうせメーカーの謳い文句で実際には5%程度場合によっては向上する程度だろうと考えるのですが、2倍以上となると最早疑う余地はありません。この感動は実際に試した者にしか分からないものです。
Aデコンパイルが不可能
 Javaアプリケーションは容易にデコンパイルできます。そのためオブファスケイターと呼ばれるソースコードの難読化ツールが存在しますが、ソースが読みにくくなるというだけで、処理そのものはそのまま再現されるため、再コンパイルも可能です。
しかしExcelsior Jetでネイティブ化するとそれが不可能になります。
Bタスクマネージャから実行プロセスが見える
JavaアプリケーションはJavaVMで実行されるため、タスクマネージャから判断しようにも単に"Java"と表示されて識別が出来ません。しかしネイティブ化するとプロセスが表示されるため、どれか分かります。

ここまで読んで私が魔法のツールと呼ぶ理由が分かるかと思います。

さて、古今魔法というのには何らかのデメリットが語られるものであり、Excelsior Jetも例外ではありません。
それは次の点があります。
@JREが統合されているため、インストーラサイズが大きくなる。(最低30MB以上)
AJREを内部で使用しているので、使用メモリサイズが大きくなる。(最低40MB以上)

デメリットとは言いましたが、現在の主なPCスペックから見れば実際には欠点と言うほどのものではないです。

メリットとデメリットの仕様的な説明はこれで終わりです。

そんなにも便利なツールならば世の中に広く使われているはずだと思うのは自然なこと。
ExcelsiorのHPによると世界の著名な企業では複数導入されているようで、具体的な企業名が紹介されています。
じゃあ何故使用レポートが殆ど見つからないのさという疑問も自然なこと。
実は私も明確な答えは持ってないのですが、個人レベルでの報告が極めて少ない理由はある程度見当が付きます。
それは気軽に手を出せる価格ではないことが要因の1つと考えています。
まあ、良いものは相応の対価が必要ということでしょうか。

その価値が有るか否か判断するための試用版が用意されているので、気軽に試してみる価値はあると思います。奇跡も、魔法も、あるんだよということをきっと体感できることでしょう。