ローカルで実行され、Web サービスを呼び出す GUI アプリケーションをクロス プラットフォームで作成する場合、.Net を使用できますか? どのツールをお勧めしますか?
Java は C# に似ているため比較的簡単に習得でき、JVM を使用できるので、Java を検討していました。
ローカルで実行され、Web サービスを呼び出す GUI アプリケーションをクロス プラットフォームで作成する場合、.Net を使用できますか? どのツールをお勧めしますか?
Java は C# に似ているため比較的簡単に習得でき、JVM を使用できるので、Java を検討していました。
Mono プロジェクトとMonoDevelopに慣れる必要があります。これらのプロジェクトの明確な目的は、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 Framework を使用することです。これにより、1 つの UI コードベースで各プラットフォームのネイティブ ツールキットをターゲットにすることができます。
Windows の場合は WinForms または WPF を使用し、Linux の場合は GTK# を使用し、OS X の場合は MonoMac/Cocoa を使用します。
開発中のモバイル ポート (iOS/Android) もあります。
アドバイスの一部。クロスプラットフォームプログラミングはクロスブラウザプログラミングのようなものであり、確実に行うべきことの1つは、サポートするすべてのプラットフォームでテスト、テスト、およびテストを行うことです。
クロスプラットフォームのツールキットを使用して作成することをお勧めします。ほとんどの場合、優れたビジュアル デザイナーを使用することはできませんが (実際には、選択するツールキットによって異なります)、UI を手動で作成することはそれほど難しくありません。HTML 関係者は常にこれを行っており、MS 以外の世界でも非常に一般的な方法です。
.NET バインディングを備えた一部のクロスプラットフォーム UI ツールキット
現在、 Monoが唯一のオプションです。これらのプラットフォームで動作します。そして、必ずしも大きな問題ではありませんが、それでも問題は発生します。
前に述べたように、Monoプロジェクトは、コミュニティのサポートを考えると最善の策です。
Visual Basicを使用している場合は、ネイティブの実行可能ファイルを作成するクロスコンパイラがあるため、 REALbasicも一見の価値があります。彼らはあなたもダウンロードできる試用版を持っています
私は最近、Linux上でmonoを使用してコンパイルおよび実行する小さなC#GUIアプリケーションを作成しました。最新のC#および.Net機能にアクセスするには、「gmcs」コンパイラを使用する必要があることがわかりました(mono 1.9にはいくつかの異なるコンパイラが付属しています)。
また、.exeファイルをコンパイルするときに、「-target:winexe」スイッチを追加して、アプリケーションの背後にコマンドラインを表示せずにWindowsでアプリを実行できるようにする必要があることがわかりました。
PCで特別な.Netセキュリティ構成を必要とせずにWindowsでネットワークドライブから実行される.Netアプリケーションをコンパイルする方法をまだ見つけていません。(これは.Netアプリケーションの一般的な問題だと思いますが、まだ学習中です。)
Mono プロジェクトをチェックしてください
また、リッチ インターネット アプリケーション用のSilverlightまたはFlashも検討してください。
正直なところ、私はあなたの顧客基盤とあなたの既存のスキルを評価します。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