適切とは、次のことを意味します。
- 成熟し、広く使用されている
- 適切にレンダリングされる豊富なウィジェット セット
- 慣用的な Scala
- WYSIWYG っぽいが柔軟な GUI ビルダーを手に入れた
- スタンドアロン API ドキュメント (ラッパーの場合、別の言語で親プロジェクトを参照する必要はありません)
順不同。
どの GUI ツールキットがどの条件を満たすか?
適切とは、次のことを意味します。
順不同。
どの GUI ツールキットがどの条件を満たすか?
Scalaには独自のSwingライブラリがあります。これは内部で標準のSwingライブラリを使用しますが、いくつかの優れた追加機能があります。特に、Scala用に作成されているため、標準のSwingライブラリよりもはるかに簡潔に使用できます。
import swing._
object HelloWorld extends SimpleSwingApplication {
def top = new MainFrame {
title = "Hello, World!"
contents = new Button {
text = "Click Me!"
}
}
}
ウィジェットのプロパティを設定するのがどれほど素晴らしくて簡単か見てみましょう。
より良い構文と小さな追加(クラスのような)を除いてSimpleSwingApplication
、長所と短所はバニラスイングとほとんど同じだと思います。
これがScalaSwingの概要です。
しばらく経った今、ScalaJS も考慮すべき選択肢の 1 つであることは注目に値します。
あなたの要件に対して:
欠点は、GUI が JVM からブラウザーに移動するため、これらすべての Java ライブラリーを使用できないことです。
.Net は成熟しており、広く使用されていると思います。
しかし ...
Scalaを使用する必要があると思います。そのためには、IDEA や NetBeans のようにツールのサポートが優れている Java に固執します。もちろん、Java と Scala を混在させることもできます。したがって、GUI は、Scala バックエンドを呼び出す Java で実行できます。また、JGoodies にも注目してください。Swing で UI を構築するための優れた機能がたくさんあります。現時点では、Scala GUI アプリケーションのツール サポートはありません (非 GUI の場合は、まだ Java より遅れています)。