6

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

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

4

9 に答える 9

10

Mono プロジェクトMonoDevelopに慣れる必要があります。これらのプロジェクトの明確な目的は、Windows、Linux、Mac OSX などのさまざまなプラットフォームで .NET コードをビルドして実行できるようにすることです。

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

于 2008-09-11T08:21:49.140 に答える
7

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

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

開発中のモバイル ポート (iOS/Android) もあります。

https://github.com/picoe/Eto

于 2012-02-02T23:20:05.790 に答える
3

アドバイスの一部。クロスプラットフォームプログラミングはクロスブラウザプログラミングのようなものであり、確実に行うべきことの1つは、サポートするすべてのプラットフォームでテスト、テスト、およびテストを行うことです。

于 2008-09-11T10:45:25.237 に答える
3

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

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

  • GTK# (Mono 開発のデファクト スタンダード。MonoDevelop IDEには、このツールキットを利用するフォーム デザイナーが組み込まれています)
  • wxNET (wxWindows に基づいており、かなり成熟していますが、UI を手動で作成する必要があります)
  • Qyoto (QT に基づいており、おそらく wxWindows よりも優れていますが、アプリケーションがオープンソース ライセンスを取得できない場合は、Trolltech からの商用ライセンスが必要になる場合があります)
于 2008-09-11T08:26:22.467 に答える
2

現在、 Monoが唯一のオプションです。これらのプラットフォームで動作します。そして、必ずしも大きな問題ではありませんが、それでも問題は発生します。

于 2008-09-11T08:22:28.390 に答える
0

前に述べたように、Monoプロジェクトは、コミュニティのサポートを考えると最善の策です。

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

于 2008-09-11T10:26:40.523 に答える
0

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

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

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

于 2008-09-11T10:31:27.563 に答える
0

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

また、リッチ インターネット アプリケーション用のSilverlightまたはFlashも検討してください。

于 2008-09-11T08:21:52.243 に答える
-1

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

Monoはまともなプラットフォームです(約1週間前に尋ねられたこのSOの質問を参照してください)が、何か重要なことをしている場合は、そのために設計されたツールキットを使用します。

ところで、Monoで.NET GUIアプリがどのように表示されるかを確認したい場合は、MonoでNUnitGUIを実行するたびに行った投稿を次に示します。

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

于 2008-09-11T10:48:00.083 に答える