質問

現在、モノラルを使用してC#でデスクトップアプリケーションを開発し、SuSEとWindowsでテストしていました。コンセプトはそれほど重要ではありませんが、「ウェブの糸くず」です。 Webサイトをスキャンし、セキュリティやブラウザ間の互換性に関する問題を返すプログラム。ただし、複数のプラットフォーム用のバイナリを提供できるようにしたいと考えています。 Monoのままにしておくべきですか、それともMac、Windows、Linux、その他(おそらくモバイルプラットフォーム)などのプラットフォームの可用性を向上させ、移植を容易にする別のプラットフォームがありますか?

役に立ちましたか?

解決

C#とMonoは、おそらくほとんどのデスクトップ環境に十分なクロスプラットフォームです。秘Theは「モバイルプラットフォーム」です。要件。

モバイルオペレーティングシステムは非常に多様であり、一般化するためにできることはあまりありません。ブラックベリーのようなJavaを持っている人もいます。 C#を使用すると、Windows Mobileベースのプラットフォームにアクセスできます。 iPhoneは独自の処理を行います。プラットフォームを選択して、それをターゲットにする必要があります。その結果、デスクトッププラットフォームの選択が通知される可能性があります。

他のヒント

まあ、常に最善の策は、すべてのプラットフォームに実際に存在する言語を使用することです。 perlでさえモバイルプラットフォーム向けのフレーバーを持っているとはいえ、それは通常Javaを意味します(問題のモバイルプラットフォームによって異なります)。

クロスプラットフォームでの作業のほとんどはCとperlで行いますが、Cにはいくつかの頭痛の種があり(#ifdefがたくさんあります)、perlは(まだ)気になるモバイルプラットフォームにはないかもしれません。ターゲットにするすべてのプラットフォームに共通の言語/コンパイラ/インタープリターを評価してから、そのリストから選択する必要があります。そのようなプラットフォームの完全なリストがわからない場合、Javaが有力な候補になる可能性が十分にありますが、使用するものを伝えるのは困難です。

C ++を知っているなら、 Qt は多くのプラットフォームをカバーします。

Monoに固執し、Gendarmeコードインスペクター(MonoのFxCop)がコードの移植性の問題をチェックしていることを確認してください。

Javaは、Windows、Linux、およびMacで実行されます。 C#から簡単に移行できる必要があります-スキャンしているWebコンテンツを取得するためにApache HTTPClientを使用し、スキャンコードはほぼ同じである必要があります。ただし、ユーザーがJavaランタイムをインストールする必要があるという欠点があります。

Pythonは別のオプションです。Windows用のスタンドアロンの実行可能ファイルをビルドできます。デフォルトでは、ほとんどのLinuxディストリビューションに付属しており、Mac OS Xも必要です(引用が必要です;))。これにより、Windowsユーザーの手間が大幅に軽減されます(言語は実行可能ファイルにコンパイルされ、他のダウンロードは不要です)。

monoがMac OS Xで実行されている場合、それも確かに優れたプラットフォームですか?

それは本当にあなたが何をしたいかに依存しています。 Web開発の場合、HTML / JavaScriptで十分な場合はそのままにしてください。もっと高度なものが必要な場合は、ASP.NETをMonoで使用します(おそらくあなたがしたことです)。 (ここでVisual Studioを使用できます。)

Silverlightを使用する(C#開発者であるため)別のオプションがあります。これにより、WindowsおよびMacプラットフォームがカバーされ、 Moonlight がLinxuプラットフォームをカバーすることを願っています。 (ここでVisual StudioとExpression Blendを使用できます。)

デスクトップアプリケーションが必要な場合は、C#をすでに知っているため、おそらくJavaが最も簡単です。しかし、C / C ++を知っているなら、たとえば wxWidgets を見てみてください。

なぜ従来のC#/ Javaに限定するのですか? Adobe AIRとMicrosoft SilverLightをご覧ください

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