Java


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

JavaのGUIについて


  • AWT
AWTは、すべてのJavaのバージョンについており、どのようなJavaランタイムでも動くのが利点。GUIの見た目がプラットフォームに依存(ネイティブコードを叩いているため)。拡張性・実行速度ともにSWTに劣るため、どうしてもネイティブウィンドウシステムを利用したいなら、AWTではなくSWTを用いるのが普通。
というか、アプリに対して今時使う必要性が全くない(AWTを使うぐらいならSwing使え)

  • Swing
Java2.0?から導入。AWTを継承。
AWTの欠点であった「GUIの見た目がプラットフォームに依存」を解消(つまり100%PureJavaであり、見た目が統一されている)。そして拡張性の無さも解消(SWTよりも拡張性は高い?)。しかしながら、リリース当時はOS比依存性を高めるためにパフォーマンスが犠牲にされていた。最近はJavaVMやSwingの高性能化、プラットフォーム環境の高性能化によりパフォーマンスネックが解消されつつある(現在は、単純なアプリならSWTと速度は変わらない。また今後もさらなる高速化が期待されている)。

  • Fx
スクリプト言語。Swingアプリをより簡単・明快に制作することが出来る(要するにSwingを利用しつつ、Swing本来のコードを書くことなく、より簡単にGUIアプリを作成できる)。
しかし、Swingに比べ、現在は拡張性にまだ難あり。日本語のドキュメントもまだ少ない?

  • SWT
SWTはEclipse独自のライブラリが必要。AWTと同じくGUIの見た目がプラットフォームに依存。しかし、AWTより拡張性が高く、高速であったため、通常はこちらの方を利用することが多かった?(しかし、AWTもSwingは、近年はコンピュータの高スペック化、JavaVM高速化に伴い、単純なアプリならほぼ変わらない速度となってるらしい。)