私はJavaとC#のスキルを持っています。
まず、Java (Eclipse with Windowbuilder-Plugin) を詳しく調べてみました。 - Swing: ただし、GTK3 のネイティブ GUI サポートはありません (たとえば、HUD は動作しないようです)
次に、JAVA - SWT を調べました。重すぎます。Ubuntu デスクトップを改善する小さなアプリをコーディングしたいのですが、Eclipse が含まれたプログラムを出荷したくありません。
その後、C# Mono (Monodevelop) を見つけました。GTK# は GTK2 でのみ利用可能です。GTK3 ポートはすぐにリリースされる予定ですが、追加の調整なしでプログラムを GTK2 から GTK3 に変換することは可能ですか? 次の悪い点は、Mono が Ubuntu LTS 12.04 から削除されたことです。そのため、私のアプリが公式の Ubuntu ライブ CD のデフォルト アプリになる可能性はありません。(これは、私がプログラミング言語を選択する際の要因でもあります)。
他にも技術があることは知っていますが、プログラミング言語としては Java または C# を使いたいと思っています。
答え1
それから私は JAVA - SWT にいました: 重すぎます。Ubuntu デスクトップを改善する小さなアプリをコーディングしたいです。Eclipse が含まれたプログラムを出荷したくありません。
これを理由に Java と SWT を却下しないことをお勧めします。Java で本当にネイティブに見えるものが必要な場合、SWT が最適な選択肢です。Eclipse の WindowBuilder もそれをサポートします。アプリケーションに同梱する必要があるものを誤解していることは明らかです。Eclipse を同梱する必要はなく、SWT jar を同梱するだけで済みます。アプリケーションが非常に単純なものでない限り、どこかの時点でサード パーティの jar に頼らざるを得なくなる可能性があります (または、いずれにせよ独自の jar を同梱する必要があります)。
Swing との主な違いは、適切なプラットフォーム (例: x86_64) に適切な SWT jar を出荷する必要があることです。これは実際にはそれほど難しいことではなく、適切なビルド システムを使用して適切にパッケージ化できます。