Vedo molte vecchie informazioni su questa domanda e molti articoli che volano intorno all'interweb, ma non so dirti dove siano le cose.
Fondamentalmente, voglio scrivere codice C # che posso poi compilare in un'applicazione nativa di Windows, e anche compilare un'applicazione nativa per Mac (niente Parallels, niente Wine, ecc.). Questo può essere fatto?
I prodotti come Xamarin sono la strada da percorrere? Il sito Web di Xamarin afferma: "Utilizza lo stesso linguaggio, le API e le strutture dati per condividere una media del 75% del codice dell'app su tutte le piattaforme di sviluppo mobile". ma non posso dire che cosa potrebbe comportare il 25% del codice app specifico della piattaforma ... Inoltre non posso dire se hanno come target OSX e Windows, il loro sito web è molto incentrato sui dispositivi mobili.
[aggiunto dopo]
Riepilogo: Xamarin non è progettato per creare applicazioni multipiattaforma: ciò che ti danno è un modo per scrivere applicazioni Mac in C #, utilizzando le operazioni della GUI del Mac. Quello che loro raccomandano è di scrivere tutta la tua "business logic" multipiattaforma, e quindi scrivere 2 GUI completamente separate - una per Windows, una per Mac.
C # / Qt sembra essere nelle sue primissime fasi (sebbene se qualcuno stia inciampando su questo articolo nel 2016 o più tardi, vai a dare un'occhiata).
Sembra che il mono farà cross-platform inclusa la GUI, ma solo se usi Windows Form.