72

適切とは、次のことを意味します。

  • 成熟し、広く使用されている
  • 適切にレンダリングされる豊富なウィジェット セット
  • 慣用的な Scala
  • WYSIWYG っぽいが柔軟な GUI ビルダーを手に入れた
  • スタンドアロン API ドキュメント (ラッパーの場合、別の言語で親プロジェクトを参照する必要はありません)

順不同。

どの GUI ツールキットがどの条件を満たすか?

4

5 に答える 5

38

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の概要です

于 2012-05-08T13:13:39.757 に答える
6

しばらく経った今、ScalaJS も考慮すべき選択肢の 1 つであることは注目に値します。

あなたの要件に対して:

  • 成熟し、広く使用されています -- HTML/CSS/JS はそうですが、ScalaJS はそうではありません (しかし、考えてみれば驚くほど良いことです)。そのため、ScalaJS 固有のハングアップに遭遇するかもしれませんが、基盤となるテクノロジーは非常に堅牢です。
  • よくレンダリングする豊富なウィジェット セット -- はい。
  • 慣用的な Scala -- いいえ: 多くの jquery を使用することになり、ほとんどが動的に型付けされます。ただし、 ScalaTagsはそれを改善するために多くのことを行います。
  • WYSIWYG っぽいが柔軟な GUI ビルダーを手に入れた -- はい、たくさんあります。
  • スタンドアロン API ドキュメント (ラッパーの場合、別の言語で親プロジェクトを参照する必要はありません) -- はい。

欠点は、GUI が JVM からブラウザーに移動するため、これらすべての Java ライブラリーを使用できないことです。

于 2015-06-28T20:36:23.283 に答える
-23

.Net は成熟しており、広く使用されていると思います。

しかし ...

Scalaを使用する必要があると思います。そのためには、IDEA や NetBeans のようにツールのサポートが優れている Java に固執します。もちろん、Java と Scala を混在させることもできます。したがって、GUI は、Scala バックエンドを呼び出す Java で実行できます。また、JGoodies にも注目してください。Swing で UI を構築するための優れた機能がたくさんあります。現時点では、Scala GUI アプリケーションのツール サポートはありません (非 GUI の場合は、まだ Java より遅れています)。

于 2012-05-08T13:08:56.247 に答える