18

現在または近い将来に新しいプロジェクトを開始する場合、どのGUIフレームワーク/ライブラリを選択しますか?

商用利用とクロスプラットフォームは無料である必要があります。

私は幸せなswingユーザーでしたが、Sunは、まだプライムタイムの準備ができていないJavafxをプッシュしながら、 swingを非推奨にプッシュしているようです。

SWTもありますが、Linuxで問題があるようです。

選択したGuiライブラリ/フレームワークは何ですか?

編集:Sunはswingxプロジェクトをキャンセルしました。フォーラムのコメントから、http: //swingx.dev.java.netは、以前はコアスイングに取り組んでいたSunリソースの大部分が、現在JavaFxをフルタイムで開発しているようです。

4

3 に答える 3

8

Sun の管理ミスにもかかわらず、Swing は依然として優れたフレームワークであると思います。特にその「ロット」にカスタム レンダリングされた UI コントロールが含まれる場合は、これで多くのことができます。アプリケーションでブランド化された LAF が必要な場合、またはあちこちにいくつかの複雑なカスタム コントロールが必要な場合でも、Swing はまさに必要なものです。

コインの反対側では、私は SWT がかなり好きです。誰もが Java を引き継ぐのは IBM の策略だと思っていたので、評判は悪くなりますが、実際には Swing を完全に補完するもう 1 つの UI フレームワークにすぎません。超複雑なグラフィックスのレンダリング (具体的には合成) や、非常に重要なカスタム コントロールの作成に SWT を使用することはお勧めしませんが、それ以外の場合は非常に便利です。API 自体は、ビット マスクへの依存やユーザー管理のイベント ディスパッチ ループなどの理由で多くの批判を受けますが、これらのほとんどは慣れればかなり透過的です。コンポーネント自体は (拡張性などの点で) Swing のものよりもはるかに単純です。つまり、API はそれに比例して単純になります。SWT でテーブルを作成してデータを入力する方法を実際に覚えています。Google の支援なしに Swing でそれを処理したことはありません

現在の SWT の最大の問題は、安定版が Mac OS X の Carbon に依存していることです。これは、SWT アプリが Java 5 で 32 ビット (または SoyLatte で 32 ビット) しか実行できないことを意味します。他のプラットフォームに関しては、SWT は Windows (Vista および XP) で驚異的であり、GTK Linux でもほぼ同等です。私は (最近では) Linux 上の SWT で問題が発生したことはありません。

質問に戻りますが、それはすべて、アプリケーションが必要とするものによって異なります。それが大量のカスタム コントロールと複雑な合成を備えた派手なカスタム スタイルのアプリケーションである場合、Swing は町で唯一のゲームです。ただし、より単純な API の方が重要な場合、またはユーザーがプラットフォーム LAF の究極の忠実度を要求する場合は、SWT が最適です。

于 2008-11-11T16:58:42.287 に答える
4

現在、SWT または Qt (Jambi) を使用しています。

過去 10 年間、Swing は進化しておらず、バグは修正されておらず、開発は JavaFX を優先して停止しているため、新しい機能も見られません。JavaFX はおそらく素晴らしいものになるでしょうが、それでもまだベーパーウェアであり、Swing を餓死させた人々によって作成されているため、私はそれにお金をかけません。

SWT と Qt の間では、Qt を使用することを好みます。これは、自分が何をしているかを知っている人々によって作成された非常に成熟した強力なフレームワークであるためです (とにかく、ほとんどの場合:))、新しいプロジェクトのライセンスがない場合は SWT を使用します。 Qt と互換性があります。

于 2008-11-11T16:37:09.040 に答える
3

私はまだSwingを使用しており、サポートがなくなるまで使用し続けます。Javafxについての情報を提供してくれてありがとう、私は今それを調べなければなりません。

于 2008-11-11T16:16:47.877 に答える