この質問に関する多くの古い情報とInterwebsの周りを飛んでいる多くの記事を見ていますが、物事がどこにあるのかははっきりとわかりません。
基本的に、ネイティブのWindowsアプリケーションにコンパイルしたり、ネイティブのMacアプリケーション(ParallelsやWineなど)にコンパイルしたりできるC#コードを記述したいと思います。これはできますか?
Xamarinのような製品は進むべき道ですか?XamarinのWebサイトでは、「同じ言語、API、データ構造を使用して、すべてのモバイル開発プラットフォームで平均75%のアプリコードを共有しています」と述べています。しかし、プラットフォーム固有の25%のアプリコードが何を必要とするのかはわかりません。また、OSXとWindowsをターゲットにしているのかどうかもわかりません。彼らのWebサイトはモバイルデバイス中心です。
[後で追加]
概要:Xamarinはクロスプラットフォームアプリケーションを作成するようには設計されていません。MacaのGUI操作を使用して、C#でMacアプリケーションを作成する方法が提供されます。彼らが推奨するのは、すべての「ビジネスロジック」クロスプラットフォームを記述してから、2つの完全に別個のGUIを記述することです。1つはWindows用、もう1つはMac用です。
C#/ Qtは非常に初期の段階にあるようです(2016年以降にこの記事を誰かが見つけた場合は、チェックしてください)。
monoはGUIを含むクロスプラットフォームを実行するようですが、Windowsフォームを使用する場合のみです。