2

おそらく私の質問は完全に素朴であり、これが私がグーグルや他の何かで情報を見つけることができなかった理由です-それにもかかわらず、私はここで尋ねる価値があると思います。

MacとWindowsで自然に動作するC#アプリケーションを開発したいと思います(Linuxもいいですが、直接必要ではありません)。開発用のメインオペレーティングシステムはMacOSXである必要があるため、MonoDevelopを使用したいと思います。

MonoMac用のプロジェクトをセットアップできます-正常に動作します。GTK#用に別のプロジェクトをセットアップできます-正常に動作します。

私の質問は、MonoMacとGTK#フロントエンドの可能性があるプロジェクトを取得するために何をしなければならないかということです。そこで、MVCパターンを使用して、1つのプロジェクトで作業したいと思います。その結果、プロジェクトをビルドすると、Macの実行可能ファイル(MonoMacのものに基づく)と1つのWindowsの実行可能ファイル(GTK#に基づく)が作成されます。

私は自分のアプローチに完全に間違っていますか?目標を達成するために何をしなければなりませんか?

4

1 に答える 1

5

はい、各プラットフォームで可能な限り最高のルック アンド フィールを備えたマルチプラットフォーム アプリの場合、プラットフォームごとに 1 つの実行可能ファイルが必要です。これを行うには、MVC アプローチを使用するのが最善の方法です。モデル、処理コード、ビジネス ロジックなどのすべての共有コードを含むライブラリ プロジェクトと、プラットフォームを含む「フロントエンド」実行可能ファイルごとのプロジェクトを含むソリューションを作成できます。特定のビューとシェル。

Windows での本当に優れたネイティブ エクスペリエンスが Linux のサポートよりも優先される場合は、GTK# の代わりに WPF または Windows フォームを使用することをお勧めします。これは、Windows と MacOS の間で開発を分割する必要があることを意味します。Windows の Visual Studio、SharpDevelop または MonoDevelop で同じプロジェクトを開き、そこで WPF/WinForms プロジェクトと共有ライブラリを編集する必要があります。

OTOH、GTK# には、3 つのプラットフォームすべてで動作する単一のフロントエンドの作成から始めて、その後プラットフォーム固有のものを作成できるという利点があります。

于 2012-08-13T02:18:40.350 に答える