c#-windowform-xクロスプラットフォームで C# を使って「ウィンドウ(GUI)」を表示したい場合

クロスプラットフォームで C# を使って「ウィンドウ(GUI)」を表示したい場合、以下の方法があります。Linux / macOS / Windows すべてに対応できる選択肢としては、以下のライブラリやフレームワークが主流です:


目次

1. Avalonia UI(おすすめ)

  • クロスプラットフォーム対応:Windows / Linux / macOS
  • XAML ベースで、WPF に非常によく似た書き方。
  • オープンソース & アクティブに開発中。
  • .NET 6/7/8 など最新の .NET に対応。
  • デザイナー(GUI設計ツール)もあり。

インストール例(.NET CLI):

dotnet new avalonia.app -o MyApp
cd MyApp
dotnet run

参考サイト:


2. MAUI (.NET MAUI)

  • Microsoft公式のモダンなUIフレームワーク
  • 本来は「モバイル(iOS / Android)+ デスクトップ(Win / macOS)」向け。
  • macOS 対応には Mac に .NET MAUI のセットアップが必要(Xcodeも必要)。
  • Linux は 公式には未対応(が、非公式の MAUI Linux プロジェクトあり)。

☑ Windows / macOS のデスクトップ向けなら良いが、Linux対応は微妙


3. Uno Platform

  • UWP / WinUI スタイルで、Web(WebAssembly)、Windows、Linux、macOS、Android、iOS もサポート。
  • GUI を Web にも展開できるのが強み。
  • 学習コストはやや高め。

4. GtkSharp (Gtk#)

  • GTK+ を C# から使えるようにしたバインディング。
  • Linux との相性が良い(元々 Linux ベースのGUIツールキット)。
  • Windows/macOS もサポートされているが、UIがやや古風。
  • .NET 6/7 対応のバージョンあり。

その他(限定的 or 古い)

  • WinForms / WPF → Windows専用。
  • Eto.Forms → クロスプラットフォーム対応(Win/mac/Linux)だがやや開発は停滞気味。

📌 結論(用途別におすすめ)

用途・要件おすすめ
最新UI / 全OS対応 / 活発な開発Avalonia UI
Microsoft製 / モバイル対応.NET MAUI(ただし Linux は注意)
Web展開もしたい / UWPスタイルが好きUno Platform
Linux中心 / 軽量GtkSharp

もしよければ、あなたの開発目的(例:小さなツール、業務アプリ、教育用、など)や、ターゲットOSの優先度を教えてくれたら、もっとピッタリな選択を提案できますよ!

よかったらシェアしてね!
目次