質問

ローカルで実行し、クロスプラットフォームで Web サービスを呼び出す GUI アプリケーションを作成する場合、.Net で実行できますか。どのようなツールをお勧めしますか?

Java は C# に似ているため比較的簡単に習得でき、JVM も使用できるため検討していました。

役に立ちましたか?

解決

に精通する必要があります モノプロジェクト そして モノデベロップ;これらのプロジェクトの明確な目的は、Windows、Linux、Mac OSX などのさまざまなプラットフォームで .NET コードを構築して実行できるようにすることです。

Mono は .NET の再実装であるため、常に Microsoft.NET より若干遅れていますが、.NET 2.0 といくつかの .NET 3.x 機能を十分にカバーしています。Mono は .NET バイナリを実行するため、プログラムの機能が Mono でサポートされている限り、Windows でコンパイルしたアプリケーション EXE を再コンパイルせずに Linux/Mono で実行できることに注意してください。

他のヒント

クロスプラットフォーム .NET 開発のもう 1 つの比較的新しいオプションは、オープン ソースの Eto.Forms フレームワークを使用することです。これにより、各プラットフォームのネイティブ ツールキットをターゲットとする 1 つの UI コードベースを使用できるようになります。

Windows の場合は WinForms または WPF を使用し、Linux の場合は GTK# を使用し、OS X の場合は MonoMac/Cocoa を使用します。

モバイルポート (iOS/Android) も開発中です。

https://github.com/picoe/Eto

クロスプラットフォームのツールキットを使用して作成した方がよいでしょう。ほとんどの場合、優れたビジュアル デザイナーは使用できませんが (実際、これは選択したツールキットによって異なります)、UI を手動で記述することはそれほど難しくありません。HTML 担当者は常にこれを行っており、MS 以外の世界でも非常に一般的な習慣です。

.NET バインディングを備えた一部のクロスプラットフォーム UI ツールキット

  • GTK# (Mono 開発の事実上の標準、 MonoDevelop IDE このツールキットを利用するフォーム デザイナーが組み込まれています)
  • wxNET (wxWindows に基づいており、非常に成熟していますが、UI を手動で構築する必要があります)
  • クヨト (QT に基づくと、おそらく wxWindows よりも優れていますが、アプリケーションがオープンソース ライセンスを取得できない場合は、Trolltech からの商用ライセンスが必要になる可能性があります)

アドバイスです。クロスプラットフォーム プログラミングはクロスブラウザ プログラミングと似ており、確実に行うべきことは、サポートしたいすべてのプラットフォームでテストを繰り返すことです。

単核症 現在のところ唯一の選択肢です。実行されます これらのプラットフォーム. 。そして、必ずしも大きな問題ではありませんが、依然として問題が発生するでしょう。

をチェックしてください モノプロジェクト

こちらもご覧ください シルバーライト または 閃光 リッチインターネットアプリケーション向け。

前述したように、 モノプロジェクト コミュニティのサポートを考慮すると、それが最善の策です。

Visual Basic を使用している場合は、 REALベーシック ネイティブ実行可能ファイルを作成するクロスコンパイラーも備えているため、一見の価値があります。試用版がありますので、 ダウンロードも

最近、Linux 上で小さな C# GUI アプリケーションを作成し、mono を使用してコンパイルして実行しました。最新の C# および .Net 機能にアクセスするには、「gmcs」コンパイラを使用する必要があることがわかりました (mono 1.9 にはいくつかの異なるコンパイラが付属しています)。

そして、.exe ファイルをコンパイルするときに、アプリケーションの背後でコマンド ラインをポップアップ表示せずに Windows 上でアプリケーションを実行するには、「-target:winexe」スイッチを追加する必要があることがわかりました。

PC 上で特別な .Net セキュリティ構成を必要とせずに、Windows 上でネットワーク ドライブから実行される .Net アプリケーションをコンパイルする方法をまだ見つけていません。(これは .Net アプリケーションの一般的な問題だと思いますが、私もまだ勉強中です。)

正直に言って、私はあなたの顧客ベースと既存のスキルを評価します。Windows と Windows 以外を 50/50、または 70/30 に分割している場合は、Java またはその他のクロスプラットフォーム ツールキットを使用した方がよいでしょう。

Mono はまともなプラットフォームです (「 このSOの質問は約1週間前に行われました)しかし、何か重要なことをしているのであれば、私はそれ用に設計されたツールキットを使用するでしょう。

ところで、Mono で .NET GUI アプリがどのように見えるかを知りたい場合は、私が Mono で NUnit GUI を実行するたびに行った投稿を次に示します。

http://www.cornetdesign.com/2006/07/nunit-gui-running-green-on-monolinux.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top