Кроссплатформенная разработка - это хорошая идея, но, если честно, я никогда не видел приложения, которое выглядит действительно хорошим вне его родной среды. Вот почему я думаю, что если вы действительно хотите предложить хороший пользовательский опыт, вы должны использовать нативные наборы инструментов на всех платформах, которые вы хотите поддерживать.
Конечно, если вы просто хотите проверить концепцию, то с WinForms на Mac (или Linux) все в порядке, но если вы хотите приложение, которое конкурирует с другим нативным решением, тогда вам действительно стоит подумать о написании отдельного нативного внешнего интерфейса для каждого. поддерживаемая платформа.
Хорошим примером того, как это было сделано, является MindManager из Mindjet . Их версия для Mac - это полное, с нуля, переписывание интерфейса. Результатом является приложение, которое дает пользователям Mac опыт, которого они научились ожидать на своей платформе.
Итак, вернемся к Моно. В Mono есть привязки . Лично я никогда не пробовал их использовать, но если вы хотите использовать Mac для своего приложения, их, безусловно, стоит посмотреть. Было бы здорово, если бы их можно было рассматривать как правильный выбор для разработки пользовательского интерфейса на Mac.