まあ、Mono はほとんどの Linux ディストリビューションのベースには付属していません。これもそれほど軽い依存関係ではありません。Java は、人々がすでに持っている可能性がかなり高いと思います。Mono で「Winforms」を使用する予定はありますか? そうで、Winforms の経験がない場合は、他の人の意見を読んでください :-) もう 1 つの .NET GUI ツールキットは WPF ですが、残念ながら Mono には実装する予定がありません。
ネイティブウィジェットをレンダリングし、多くのレイアウトの可能性を簡単に提供する SWT を使用できるため、Jython も優れています。または、Jython を Swing で使用することもできますし、それ以外のものを使用することもできます。
OSX、Windows、および Linux で見栄えの良いネイティブ ウィジェットをレンダリングするため、wxPython (ほとんどのディストリビューションにデフォルトで含まれている CPython で使用できます) が本当に気に入っています (私は Gnome ウィジェットを実際に見ただけです)。wxPython は、私が使用した GUI ツールキットの中で最も使いやすいツールです。私はまた、私が非常に素晴らしいと思ったSWT、個人的に見た目があまり好きではないSwing、および単純なレイアウトを行うのに悪夢だったWinformsも使用しました。
インタープリター/言語ランタイムの存在を OS ごとに簡単に比較すると、次のようになります。
- CPython
- Windows - おそらくインストールされていないため、Python 以外のインストーラーでソフトウェアと一緒にインストールする必要があります :-P
- Linux - おそらくインストール済み (Ubuntu、Gentoo、および RedHat にはすべて、Python で記述され、CPython で実行されるシステム ツールがあります)
- Mac - OSX にプリインストール
- ジソン
- Windows - 付属していませんが、おそらく私の経験のある時点でインストールされています
- Linux - おそらくインストールされていますが、さらに重要なのは、Mono のように依存していることを嫌う人がいないことです。
- Mac - OSX にプリインストール (「Mac OS X Leopard には、JDK 1.5.0_13_b05 に基づく J2SE 5.0 がプリインストールされています」 -- Apple のサイト)
- アイアンパイソン
- Windows - 最新バージョンの Windows を使用している場合、ほとんどの人は少なくとも .NET 2.0 を使用しているので、おそらく問題なく動作します。
- Linux - おそらくインストールされていません。私が Linux で Mono を使用した唯一のアプリケーションは Rasterbator でした。
- Mac - 上記参照
GUI ツールキットを最初に選択します。これは、ユーザー エクスペリエンスと全体的な難易度に大きな影響を与えるためです (私は wxPython を選択しますが、SWT は僅差で 2 番目に近いでしょう)。