Adobe AIRのリリース以来、Java Web Startがこれまであまり注目されていなかったのはなぜかと思いますが、非常に似ているように見えますが、WebStartはずっと長い間利用できます。
これは主にSunのマーケティングが悪いためですか、それとも適切なJVMをインストールする必要がある以外に技術的な懸念がありますか?Web Startを使用して悪い経験がありますか?はいの場合、どちらですか?アプリケーションの配布にWebStartを使用する場合の推奨事項は何ですか?
Adobe AIRのリリース以来、Java Web Startがこれまであまり注目されていなかったのはなぜかと思いますが、非常に似ているように見えますが、WebStartはずっと長い間利用できます。
これは主にSunのマーケティングが悪いためですか、それとも適切なJVMをインストールする必要がある以外に技術的な懸念がありますか?Web Startを使用して悪い経験がありますか?はいの場合、どちらですか?アプリケーションの配布にWebStartを使用する場合の推奨事項は何ですか?
私の会社では、Java Web Start を使用して Eclipse RCP アプリケーションをデプロイしました。設定が面倒でしたが、一度設定すると非常にうまく機能します。したがって、私ができる唯一の推奨事項は、コツをつかむために、小さく始めることです。最初に 1 つの単純なアプリケーションをデプロイします。JWS の経験なしで既に作成された完全な製品をデプロイしようとすると、すぐに複雑になります。
また、JWS アプリケーションに引数を渡す方法を学ぶことは、デバッグに非常に役立ちました。環境変数 JAVAWS_VM_ARGS を設定すると、任意のプロパティを Java 仮想マシンに設定できます。私の場合:
-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=4144
起動時に問題を確認する必要がある場合に役立ちます (suspend=y)
Java Web Start の受け入れに関する主な問題は、セットアップが比較的難しいことだと思います。また、どういうわけか、この不協和音があります。デスクトップ アプリケーションがある場合、人々はダブルクリックできるインストーラーを期待します。Web アプリケーションがある場合、人々はブラウザーから直接使用できることを期待します。Java Web Start はここにもありません...
ただし、イントラネットでは広く使用されています。
私は銀行のイントラネットで 5 年間働いており、私の部門では世界中で使用されている Java Web Start アプリケーションを多数開発して配布しています。豊富なユーザー インターフェイス、クライアント マシンの処理能力) およびインターネット アプリケーション (簡単な展開とアップグレード) です。
私はJava Web Startが本当に好きです
私は JWS で一度プロジェクトを行いましたが、実行するのは苦痛でした。さらに悪いことに、私はインターネット全体を扱っているわけではありませんでした。それは私のオフィスの数人だけが使用する小さなアプリケーションでした。サーバーの構成と、クライアントマシンでのアプリケーションのセットアップの両方を支援している間、私は何度も嫌悪感を抱きました。
AIR の人気が高まっていると思います (どこまで普及するかはわかりませんが) twhirlのような人々が実際に使用したいアプリケーション (お気に入りの JWS アプリに名前を付けてください... お待ちしています) があるからです。私はまだ AIR の仕組みの大ファンというわけではありませんが、JWS よりはるかに優れています。
これはmindprobからのリストです。
Java Web Start は、アプリケーションの更新とインストール/ダウンロードが簡単で、Java アプレットよりも UI/UX が優れているため、より大きな Java アプリケーションを開始するための正しい方法です。
ただし、一般的なブラウザをデフォルト設定で使用して Web ページから Java Web Start アプリケーションを起動するには、いくつかの障害があります。
Sun/Oracle は、機能するブラウザ統合を作成できませんでした。Google Chrome / Chromium の例については、 http://crbug.com/10877を参照してください。application/x-java-jnlp-file
基本的に、Java プラグインは、Firefox と Chrome が MIME タイプをjavaws
/javaws.exe
バイナリに確実に転送するために必要な NPAPI を実装できません。
Sun/Oracle は、Java Web Start.jnlp
ファイルの実際の登録済み MIME タイプを取得できませんでした。プレフィックスは、application/x-
技術的にはドラフトまたはプライベートを意味します。
Java Web Start がアプリケーションのダウンロードと起動を処理することが意図されている場合、Sun/Oracle は MIME タイプの代わりに URL スキームを使用できませんでした。たとえば、https://example.com/app/launch.jnlp
Java Web Startなどの URL を使用する代わりに、javaws://example.com/app/launch.jnlp
物事がよりスムーズに機能するように起動された場合。これは、この場合、Web ブラウザはファイルをロードする必要さえなく、完全な URL をスキーム ハンドラ (バイナリ).jnlp
に渡すだけだからです。javaws
繰り返される部分 (「Sun/Oracle が失敗しました ...」) に注意してください。Java Web Start があまり注目されなかった理由を考える必要はもうありません。大きな欠落部分は、指定されたファイルでバイナリを確実に起動するための Web ページ リンクを取得することです。これは技術的には非常に簡単なはずですが (バイナリのインストール時に新しい URL スキームを登録するだけです)、Sun/Oracle はそれを実行できませんでした。個人的には、単に新しい URL スキームを使用するのではなく、MIME タイプをいじろうとしたことが全体の混乱を引き起こしたと考えています。そして、大声で叫ぶために、MIMEタイプのものでさえ、本当にひどく行われました.javaws
.jnlp
javaws
それでも Java Web Start を使用したい場合は、Sun/Oracle が残した混乱を回避するためにブラウザを正しく構成するための適切なドキュメントを用意してください。良い点は、一度だけ実行する必要があり、Java Web Start を使用するすべてのサイトで機能することです。悪い点は、通常、ブラウザーが.jnlp
ファイルを正しく処理するように構成されていないことです。ユーザーはアプリケーションを使用するためだけにブラウザーを構成したくないため、「使いにくいテクノロジー」を使用すると非難されます。ブラウザの自動構成に失敗したのは Sun/Oracle だと言いましたか?
私の経験:
2006 年頃、銀行のイントラネット アプリケーションで使用しました。
最初のダウンロードは問題ありませんでしたが、新しいバージョンをプッシュするときに、jar ファイルのキャッシュが機能しなかったため、新しいファイルがクライアントにプッシュされませんでした。
これを修正するために1週間を費やしましたが、成功しませんでした。