«« MovableTypeで構築されたブログをiPhone対応にするにはどうしたら良い? | JavaアプレットとJavaアプリケーション、2本同時でいきます!(Java連続集中ネタその2) »»
いきなりですが、Javaによるデスクトップアプリケーションの開発について。
「Javaアプレット」と「Javaアプリケーション」同一のコードから両方のアプリケーションを生成できたら面白くないですか?
C++などで作ったWindows専用アプリケーションはあまりにもソフトが乱立していて、せっかく作ったソフトも埋没しがちです。
そんなにハードウェアの限界まで挑戦したり、Windowsならではならない必然性のないソフトであれば、あえてマルチプラットフォームであるJavaでアプリケーションを構築してみるという選択肢は、十分ありだと思います。
なにせ構築したアプリケーションは、MacやLinuxなど他のプラットフォームにも手間をかけずにすぐに提供する事ができますから、Windows一本やりの時よりも幅広く注目されると思います。
目指せヒットアプリケーション!
そんなJavaによるデスクトップアプリケーション制作には、大きく分けて2つの道があります。
Webブラウザから直接Javaで組んだプログラムが実行できるアプレットと、デスクトップで普通に実行できるアプリケーションです。
それぞれについてメリットとデメリットを並べてみました。
★Javaアプレットは・・・
[メリット]
・HTMLからJavaアプレットへリンクされているページをブラウザから開くだけで実行できるので、とにかくお手軽
どんなソフトかすぐに利用者に知ってもらうことができる
・開くだけですぐに実行されますので、インストールの手間が要らない
※Netscape4時代は、アプレットのページを開こうとするとブラウザ自体が固まって、何分も何できずにひたすら待たされるトホホな黒歴史もありましたが、今はそんなことは解決されています
[デメリット]
・ファイルへのアクセスが禁止されていたり、ダウンロード元サーバとしか通信できないなどの制限がある
・オフラインでは実行できない
(関連するHTMLやクラスファイルを全部ダウンロードしてもらった上で、<applet>タグが記述されているHTMLファイルを開けばローカルで動かしてもらうことは可能・・・でも、ちょっと現実的ではないですよね・・・)
・Windowsパソコンでは、SunとMicrosoftとの過去のゴタゴタがあったせいで、初期状態ではJRE(Java実行環境)が入っていません、ですので前もってダウンロードしてもらう必要があります
★Javaアプリケーションは・・・
[メリット]
・普通のPCアプリケーション同様にオフラインでも動作する
・launch4jなどと組み合わせてラッピングすれば、Windows / OSX / Linuxマルチプラットフォームなネイティブアプリケーション(=アイコンをダブルクリックして起動させる普通のデスクトップアプリケーション)が、移植の手間なく一つのコードから作ることができるようです
試したことないけど
・アプレットのような機能制限がありません
[デメリット]
・アプレットのようにWebブラウザからすぐ動くということはないので、どうやって訪問者にダウンロード&実行してもらう気にさせるかというところですね
・やっぱりJRE(Java実行環境)が必要
launch4jを使ってラッピングをした際には、 launch4jが導入を促す表示とか出してくれたりまでは面倒をみてくれるようですけど
ということで、同じJavaデスクトップアプリケーションでも構成方法で、いろいろメリットデメリットが生まれてきます。
☆でも、ここでですよ。一本のコードから、もしJavaアプレットとアプリケーション両方の作成できたら・・・
[メリット]
アプレット体験版は、アプリケーション・製品版と同じコードで生成されているから、最新のバージョンをすぐに提供できる!
その体験版を、ソフト紹介のホームページでもちろん展開!
どんなソフトか、すぐに実行できるアプレットで試してもらおう!来訪者の興味をがっちりゲットだぜ!
製品版はJavaアプリケーションだから、アプレットのような制限なく魅力あるアプリケーションとしてお客様に提供できる
製品版はもちろんオフラインでも動作させることができる!
[デメリット]
・Windows環境の皆様にはJRE(Java実行環境)をインストールしてもらう必要がある
ってな感じで、宣伝・制作活動を効率よく行えますから、どうせJavaをやるなら、この2本同時立てでいけるよう制作するのが一番だろう!とか考えた次第です。
ということで実際にやり始めて気がついたのですが、「Javaアプリケーションを作ってみた」「Javaアプレットを作ってみた」という、それぞれどちらかのみをやってみたソースコードはたくさん見受けられます。
しかし、「JavaアプリケーションとJavaアプレットの両方で動くソースを書いてみた」というのは、なかなか見つけられない・・・
でも、両対応のいいソースコード見つけました!
>>マイコミジャーナルの『【コラム】Hello Worldコレクション (7) Java編 - アプリケーションとアプレットのコーディングの違い | エンタープライズ』
そのものズバリじゃないですか!
>>次回『JavaアプレットとJavaアプリケーション、2本同時でいきます!(Java連続集中ネタその2)』では、このソースコードを参考に、「画像をロードして表示&マウスクリックイベントでその画像を表示させる」両対応サンプルコードをご紹介します。
お楽しみに。
投稿者 kuze : 2009年2月 9日 13:53
«« MovableTypeで構築されたブログをiPhone対応にするにはどうしたら良い? | JavaアプレットとJavaアプリケーション、2本同時でいきます!(Java連続集中ネタその2) »»
コメント