web-dev-qa-db-ja.com

JavaデスクトップアプリケーションのGUIツールキットとして、組み込みのWebブラウザ(Chromeなど)を使用しますか?

これらのHTML5 Webサイトは見栄えが良いです-なぜ私のJava=デスクトップアプリはそうしませんか?SwingとSWTは、古い学校です。彼らは彼らの仕事をしますが、アニメーションで見栄えの良いGUIを作成しますそして、すべてが単に不可能です。

私は疑問に思いました:GUIツールキットとしてHTML5を使用することは可能ですか? SwingやSWTに似たAPIを持つライブラリを念頭に置いていますが、HTML5でレンダリングされます。それらはテーマ設定可能で、Javaのページにアクセスできる必要があります(JavaとJavaScript/HTML5の融合))。

Webアプリを作成してユーザーにURLを送信するだけではどうですか。 Java SEアプリ(ファイル、COM、トレイアイコンなど)の実際のデスクトップ統合から利益を得たいと思います。PhoneGapのようなものですが、電話ではなくデスクトップOS用です。

驚いたことに、私はそのようなものをウェブ上で見つけませんでした。しかし、たぶん私は間違った検索語を入力しただけですか?誰かがアイデアを持っていますか?

または、そうでない場合:WebKit/Chromeをアプリと一緒に埋め込むことはできますか?したがって、ユーザーは独自のコピーをインストールしたり、設定を変更したりする必要はありません。

28
Mive van Haaven

次の2つのことが頭に浮かびます。

  • Adobe Air 、これは多かれ少なかれ正確にあなたが探しているものです:デスクトップ用のPhoneGap。
  • Chromium Embedded Framework 。これは、少しの労力でChromiumをアプリケーションのフレームとして使用できるようにします。
9
Mike West

TeamDev Ltd.が最近リリースした JxBrowser 必要なことを実行できるライブラリ。 ChromiumベースのWebブラウザーコントロールをJava Swing/AWTアプリケーションに埋め込むことができます。Chromiumマルチプロセスアーキテクチャをサポートし、Webページを画面外にレンダリングします。JxBrowserを使用すると、完全に軽量なSwingブラウザーコンポーネントを受け取りますGoogle Chrome application。

5
Vladimir

JavaFX 2. を確認してください。 FXMLでGUIコンポーネントを指定でき、CSSスタイリングをサポートします。また、アプリケーション内にWebページを簡単に表示できる「WebView」コンポーネントもあります。

EDIT 2015年11月28日

JavaFX概要セクションが移動しました。

JDK 7u6以降、JavaFXは標準のJDKおよびJREバンドルに含まれています。 JavaFXを使用するには、JDKまたはJREをダウンロードしてください。

JavaFX Scene Builderのダウンロードを探している場合は、メインのJava SE Download Pageの「Additional Resources」セクションにあります。

リンクを 新しい場所 に更新してください。

5
alistair

デスクトップアプリケーションでHTML/JavaScriptを利用する方法の1つは、アプリケーションにHTMLサーバーを埋め込むことです。次に、WebページがGUIになります。あなたが使用する場合、それは文字通り数十行のコードです

例: シンプルなHTTPサーバーJavaのみを使用Java SE API

ドキュメント: http://docs.Oracle.com/javase/7/docs/jre/api/net/httpserver/spec/com/Sun/net/httpserver/package-summary.html

ここで説明されているJavaScriptと同じOriginポリシーの競合を回避するには、Webサーバーから(ローカルホスト上でも)GUI Webページを提供する必要があります。

3
34n

しばらく時間が経過したので、これが役立つかどうかわかりません。しかし、Netbeans IDEのオリジナルの作者によるコンセプトであるDukeScript( http://wiki.apidesign.org/wiki/DukeScript )をご覧になるかもしれません。私が理解できる限り、アイデアは、HTML5環境でJava=アプリケーションを開発することです。これは、プラットフォームとしてブラウザ(Chromeがサポートされています)と内部で実行されるJavaScriptのJVMに依存していますブラウザー(実際にはそのうちの2つ、独自の bck2brwsr および TeaVM )。JavaFXを使用することもでき、Android、iOS、またはブラウザーにデプロイできます。 http://dukescript.com 例を示します。

3
Pietro Braione

標準ブラウザのHTML GUIとは対照的に、どのような利点を期待できますか?多くのプログラムには、UI開発を簡単にするために独自のHTTPサーバーが付属しています。私も QtQuickYouTubeデモ )を読みましたが、実際に試したことがありません

私は指摘すべき次のことを持っています

  1. ブラウザでのGUIのデバッグ/テストがより簡単に
  2. より小さなパッケージ
  3. 開発時間の最適化
  4. 真にクロスプラットフォーム(少なくとも、アプリケーションロジックプロセッサとしてHTTPサーバーを使用している場合は、クロスプラットフォームの方が簡単です)
0
Raffaele