GNU/Linux >> Linux の 問題 >  >> Linux

Eto.Forms を使用したオープン ソース .NET によるクロスプラットフォーム GUI

これは「それができると知っていましたか?」の 1 つです。 "多くの人々は、C#/F#/.NET がクロスプラットフォームであり、open0source であり、基本的にすべてのオペレーティング システムで実行されることを理解しています。人々はそれを使用して、マイクロ サービス、Web サイト、WebAPI をあらゆる場所で作成しています。iPhone/Android は言うまでもありませんXamarin を使用したアプリや、Unity と MonoGame を使用したビデオ ゲーム。

では、クロス プラットフォームの UI はどうでしょうか?

Microsoft によって正式にサポートされていませんが、オープン ソースがどのように機能するかのように、いくつかの素晴らしいことを行うことができます。現在、.NET ランタイムのファミリ、Windows 上の .NET Framework、xplat .NET Core、xplat Mono があることを思い出してください。

Eto.Forms は 2012 年から開発されており、ネイティブ ツールキットを使用して複数のプラットフォームで実行される .NET を使用して GUI (Graphical User Interface、natch) アプリケーションを作成するためのクロスプラットフォーム フレームワークです。キャンバス上にボタンをカスタムペイントした 90 年代の Java とは異なります。

実物に使われています!実際、PabloDraw は Ansi/Ascii のテキスト エディターであり、これまでの人生で必要だとは知らなかったものです。 しかし、あなたはそうします。 Windows、Mac、および Linux で動作し、Eto.Forms を使用して作成されていますが、各プラットフォームにネイティブ UI があります。 PabloDraw と Eto.Forms でできることのクールな例については、Curtis Wensley の Twitter アカウントをチェックしてください!

  • OS X:MonoMac または Xamarin.Mac (および Xamarin 経由の iOS)
  • Linux:GTK# 2 または 3
  • Windows:Windows フォーム (GDI または Direct2D を使用) または WPF

Hello World の例を次に示します。 Code First だけでなく、Xaml や Json (.jeto) を使用してフォームをレイアウトすることもできます!

using Eto.Forms;
using Eto.Drawing;

public class MyForm : Form
{
public MyForm ()
{
Title = "My Cross-Platform App";
ClientSize = new Size(200, 200);
Content = new Label { Text = "Hello World!" };
}

[STAThread]
static void Main()
{
new Application().Run(new MyForm());
}
}

または、ファイル | | Visual Studio 拡張機能を使用した新しいプロジェクト。ぜひ試してみてください。

同じプラットフォーム (以下の例では Windows) でも、驚くべきことに Eto.Forms は好みのネイティブ コントロールを使用できます。テスト アプリがプリコンパイルされた zip の例を次に示します。

新しいバージョンの Mono を Ubuntu にインストールしたら、ここで VM で実行しているように、Gtk3 と同じサンプルを実行できます。素晴らしい。

以下は、Eto.Forms を使用した実際のアプリケーションの例です:

  • MonoGame パイプライン ツール - MonoGame のコンテンツ マネージャー
  • マネージャー - 会計ソフトウェア
  • PabloDraw - 文字ベースの描画アプリケーション
  • JabbR.Desktop - JabbR クライアント
  • Notedown - メモを取るアプリケーション
  • Eto.Test - 各ウィジェットの機能をテストするアプリケーション
  • DotImaging.UI - DotImaging のポータブル UI 要素

現在、オープン ソース .NET では非常に多くのすばらしいことが起こっており、Eto.Forms は積極的に支援を求めています。彼らの優れた Wiki をチェックして、チュートリアルを読んで、参加してみてください!

スポンサー: サードパーティの .NET コードをデバッグするための最新の JetBrains Rider、Smart Step Into、デバッガーの改善、C# インタラクティブ、新しいプロジェクト ウィザード、および列のコードの書式設定を入手してください。


Linux
  1. このLinuxツールとのオープンソースファイル共有

  2. 私のLinuxストーリー:オープンソースで言語の壁を打ち破る

  3. System76は、オープンソースBIOSコアブートを備えたラップトップを紹介します

  1. このオープンソースツールを使用してLinuxメモリフォレンジックを実行します

  2. オープンソーススキルを持つITプロフェッショナルの採用を増やすための雇用主

  3. Mailspring –新しいオープンソースのクロスプラットフォーム電子メールクライアント

  1. Goxelを使用したオープンソースの3Dピクセルアート

  2. Veracrypt –オープンソースのクロスプラットフォームディスク暗号化ツール

  3. .NET Core でのクロスプラットフォーム ファイル名の処理