27

デスクトップ アプリを作成する必要があります。Swing を使い始めてからしばらく経ちましたが、どちらのテクノロジについても学習曲線が必要です。

JavaFX 2 を使用してアプリを実行する利点はありますか?

4

2 に答える 2

33

4 年前、私は同じ質問をしていて、当時はまだ多くのサードパーティ ライブラリが Swing 用に作成されていたため、Swing を使用するのが最善であるという結論に達しました。また、Sun からの 1.0 リリースは通常、エッジの周りが少し荒いものでした (JSF 1.0 と JPA 1.0 で火傷を負いました :-)。

現在、多くのライブラリには JavaFX に対応するものがあるか、JavaFX ライブラリとして利用できます。とはいえ、まだ Swing 専用のライブラリもたくさんあります。また、私は JavaFX 2.0 でいくつかの小さなことを行いましたが、本当に完成しているようです。私はショーストッパーに出くわしたことはありません。

Swing / JavaFX 以外に使用する外部 UI ライブラリの数 (およびどれを使用するか) を確認する必要があります。答えが多くない場合、またはJava FXの代替手段がたくさんある場合(または自分で簡単にできる場合)、私は間違いなくJavaFXを選びます。また、JavaFX で Swing コンポーネントを引き続き使用することもできます。

述べたように、JavaFX は将来 Swing を廃止する予定であり、Oracle は JavaFX にコミットしているようです (オープンソース化も予定されています)。したがって、JavaFX を強くお勧めします。

2014 年 4 月 13 日のステータス更新:

  • JavaFX はしばらく前からオープンソースです: https://wiki.openjdk.java.net/display/OpenJFX/Main
  • コミュニティは JavaFX に取り組んでいます。Swing に相当するものがなく、JavaFX のみのライブラリが出現し始めています。
  • Oracle は JavaFX にコミットしていることが証明されています。

2 年前に確信が持てなかった場合: JavaFX は今や間違いなく進むべき道のように見えます。Swing はおそらく長い間使用されますが、現在はメンテナンス モードになっています。大規模なアプリケーション (IntelIJ や Netbeans など) を JavaFX に完全に移植するには、多大な労力が必要です。そして、それらの大規模なアプリケーションの場合、そのような大規模なポートはおそらく現時点では価値がありません.

2021 年 9 月 15 日のステータス更新:

  • JavaFX コミュニティは引き続き活発です。OpenJFXはまだそこにあり、派手なホームがあります。
  • Gluonのような企業(私は彼らとは提携していません) は、OpenJFX の商用サポート LTS リリースを提供しています。
  • JavaFX の GraalVM サポートにより、JavaFX アプリケーションを作成し、それらをネイティブ バイナリとして配布できます (つまり、JVM は必要ありません)。
  • TilesFXのような優れたオープンソース JavaFX コンポーネント ライブラリが利用可能です。
于 2012-05-14T19:32:44.363 に答える
3

どちらも良いオプションです:

  • リッチでグラフィカルに拡張されたアプリケーションが必要な場合は、JavaFX2.0の機能が非常に魅力的かもしれません。これは、ユーザーエクスペリエンスとビジュアルをクリエイティブに制御できるように設計されています。ターゲットプラットフォームでサポートされていることを確認してください。
  • できるだけ多くのプラットフォームで実行される標準のデスクトップアプリケーションが必要な場合は、Swingがおそらくより安全な選択です(Swingはすべての最新のJavaディストリビューションの一部として利用できることが保証されているため)。また、より成熟したサードパーティライブラリという利点もあります。

どちらももう一方に取って代わる可能性はありません。ターゲットの用途がわずかに異なり、今後何年にもわたって共存する可能性があります。

于 2012-09-05T05:20:00.820 に答える