JavaFX - ブラウザで本当に展開できるのか?[クローズド]です。
質問
私は昨年、JavaFXについていくつかの研究を行い、さらにそれを使っていくつかの基本的なデスクトップアプリケーションを作りました。
RIA (Rich Internet Application) を作成するために使用されると説明されています。
http://en.wikipedia.org/wiki/Javafx
しかし、それは 本当に は、Web ブラウザでデプロイできるのでしょうか?私は実行可能な JAR ファイルを介してのみそれをデプロイしてきました。
Web ブラウザ経由でのデプロイは簡単ですか?それはうまくいきますか?どなたか経験のある方はいらっしゃいますか?
http://docs.oracle.com/javafx/2/deployment/deployment_toolkit.htm
どのように解決するのですか?
2018 年 3 月の Java クライアント ロードマップのアップデート
この問題に関心のある読者は、以下の Oracle Whitepaper を確認することをお勧めします。
上記の論文は、関連技術 (JavaFX/Swing/AWT/Applets/WebStart) についての Oracle の公式見解、これらの技術をサポートする予定の日付、およびこれらの技術のうち JDK と JRE とは別のオープンソース開発プロジェクトに移行する予定のものを概説しています。
2017年10月、Java 9のアップデート
によれば Java 9 リリースノート :
<ブロッククオートApplet API、Java プラグイン、Java Applet Viewer、JNLP、および javaws ツールを含む Java Web Start の機能は、すべて JDK 9 で非推奨となっており、将来のリリースで削除される予定です。
つまり、Java 9+では、Javaプラグインを使ったブラウザでのJavaFXのデプロイは、非推奨の技術を使ってのみ可能となる。 Oracleは別の部分で Java 9 リリースノート :
<ブロッククオートOracle 社の JDK 9 ビルドにおける Java プラグインと関連するアプレット技術を非推奨とします。 JDK 9 ではまだ利用可能ですが、これらの技術は将来のリリースで Oracle JDK および JRE から削除されることが検討されます。 Webページに埋め込まれたアプレットとJavaFXアプリケーションを実行するには、Javaプラグインが必要です。これらのタイプのアプリケーションは、Java Web Start または自己完結型アプリケーションとして書き直すことを検討してください。
注:Java Web Startも非推奨であるため、実際には代替品ではありません(いずれにせよ、ブラウザページ内に埋め込まれてレンダリングされるアプリケーションとは異なるものです)。 また、Web Start を使用したい人のために、Oracle JDK 11+ からは削除されましたが、オープン ソースとして利用可能であることにも注意してください。 OpenWebStart .
同様の機能を提供する代替案として、次のようなものを考えてみましょう。 jpro のような、JavaプラグインなしでブラウザでJavaFXアプリケーションを展開するものを検討してみてください(jproは現在クローズドベータ版のみなので、2017年10月時点では実行可能なソリューションではありませんが、将来的にはいつかは...)。
今のところ、JavaFX アプリケーションをデプロイするのに最適な方法として、私は 自己完結型アプリケーション として、ブラウザの外側で実行することです。
Java 7 および 8 に対する前回の回答
JavaFx - 本当にブラウザで展開できるのか?
はい、JavaFXアプリケーションは、Webブラウザでホストされたhtml Webページ内で実行されるようにデプロイすることができます。
これを可能にする技術は Javaプラグイン . このプラグインは現在 NPAPI ベースのブラウザプラグインソリューションです。 Java プラグインは、出荷時に Oracle Java 7 ランタイム標準環境 .
すべてのブラウザに対応しているわけではなく JavaFX サポートされる構成ページ .
ウェブブラウザ経由でのデプロイは簡単ですか?
WebブラウザでJavaFXプロジェクトをデプロイする最も簡単な方法は。
これは(私見ですが)難しくありません。
の詳細リファレンスの指示に従うか、あるいは JavaFXアプリケーションのデプロイ (またはサード・パーティのツールを使用する)。 多くのプロジェクトでは、パッケージングを実行するためにNetBeans IDE以外のツールを使用することがより良いアプローチです。 しかし、一般的には、NetBeans IDEにデプロイメント・パッケージング・タスクを処理させる方が簡単です。
以下の内容は、元の質問への回答とは関係ありませんが、この回答に対するコメントで要求されたいくつかの意見と情報を提供します。
いくつかのアドバイス
ブラウザで Java を展開することには、落とし穴があります。このテーマについて、ご自身で Google で調査されることをお勧めします。
私の考えでは、現在のJavaFX 2.xの展開モデルに基づいて、主要なランタイムコンテナとしてブラウザを必要とするほとんどのアプリケーションタイプにおいて、JavaFXを使用することは適切な解決策ではありません。
アプリケーションのデプロイメントとランタイムの要件を調査してください。要件とJavaFXブラウザベースの実行モデルの知識に基づいて、JavaFX技術を使用したブラウザベースの配置がアプリケーションにとって正しいメカニズムであるかどうかを決定してください。
ブラウザに埋め込まれたJavaFXアプリケーションの潜在的な難点のうちの2つ
いくつかの重要なブラウザ(例えば インターネット エクスプローラー 10 , iOS サファリ そしてまもなく デスクトップ版 Chrome で使用されているNPAPIを使用したプラグインの実行を許可しないため、ターゲットユーザーの一部がアプリケーションを使用できない可能性があります。
ブラウザ組み込みアプリケーションでは、アプリケーションを実行するランタイム(ブラウザ+Javaランタイム+プラグインインターフェース)を完全に制御できない => インストール当初は動作していたアプリケーションが、これらのランタイムのコンポーネントのアップデートにより期待通りに動作しなくなる可能性があります。
デプロイメントの代替案
ブラウザベースのデプロイメントモデルがアプリケーションに適切でない場合、他の方法として、以下のものがあります。 JavaFXアプリケーションのデプロイメント (例:WebStart、スタンドアロンジャー、自己充足型アプリケーション)。
関連
-
[解決済み】Blender vs. Unity【終了しました。
-
[解決済み] Cypressの場合、テスト前にlocalStorageにトークンをセットする
-
[解決済み] 推奨されるウェブサイトの解像度(幅と高さ)?[クローズド]です。
-
[解決済み] ChromeやIEがサーバーに送信するUser-Agentに "Mozilla 5.0 "が含まれているのはなぜですか?重複
-
[解決済み] Webフォームのフィールド/入力タグでブラウザのオートコンプリートを無効にするにはどうすればよいですか?
-
[解決済み] Firefox または Chrome ブラウザから HTTP POST リクエストを手動で送信する方法
-
[解決済み] DOM要素が現在のビューポートで表示されているかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptで、数値が精度を失うことなく到達できる最も高い整数値は何ですか?
-
[解決済み】MIMEタイプとは何ですか?
-
[解決済み] Webブラウザの「戻る」ボタンはどのように機能するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Blender vs. Unity【終了しました。
-
[解決済み] Cypressの場合、テスト前にlocalStorageにトークンをセットする
-
[解決済み] 推奨されるウェブサイトの解像度(幅と高さ)?[クローズド]です。
-
[解決済み] ISPでポート80がブロックされたのに、なぜブラウザが使えるのか?
-
[解決済み] ChromeやIEがサーバーに送信するUser-Agentに "Mozilla 5.0 "が含まれているのはなぜですか?重複
-
[解決済み】MIMEタイプとは何ですか?
-
[解決済み] ブラウザでのiframeキャッシュの禁止
-
[解決済み] Webブラウザの「戻る」ボタンはどのように機能するのですか?
-
[解決済み] ブラウザでカスタム時刻を使用して、クライアントとサーバーの時差をテストする方法