Чтобы ответить на ваш вопрос напрямую: да, производительность Mono достаточно высока для разработки на Mac. Когда несколько лет назад мы перенесли код Remoting из .NET в Mono, все пошло очень плохо, но мне сказали, что с тех пор Mono значительно улучшился. Что касается сред разработки: #velop * и MonoDevelop являются кроссплатформенными.
Теперь, чтобы практиковаться:
Суть этого вопроса заключается в том, чтобы избежать покупки лицензии Windows и использовать только Mac и Mono. Это ужасная идея. Я бы никогда не выпустил какой-либо продукт, даже внутренний, который я бы никогда не запускал сам в намеченной среде. Даже если вы ненавидите Windows и все, что от нее требуется, если вы пишете программное обеспечение для Windows, вы должны дать своим пользователям возможность тщательно протестировать ее в Windows.
При этом я бы порекомендовал Boot Camp и Parallels / VMWare.
Boot Camp
Лучшими инструментами для разработки .NET являются только Windows. Даже если вы найдете альтернативного разработчика. в среде, которую вы предпочитаете, вы в конечном итоге захотите протестировать свои приложения, работающие на собственной скорости.
1020 * виртуальных машин *
Виртуальные машины достаточно хороши для большинства испытаний и отладки. Если у вашего приложения есть возможность нанести какой-либо ущерб, вам особенно захочется использовать виртуальные машины для песочницы. На моей последней работе мы выполняли низкоуровневое инвазивное сканирование и подстройку. Когда наш код глючил, мы могли ДЕЙСТВИТЕЛЬНО испортить ситуацию. Все наши тесты проводились на виртуальных машинах задолго до того, как мы поместили их в настоящие коробки.
Вышеуказанное позволит позволить вам иметь только Mac (при условии, что он на базе Intel) и все равно позволит вам делать все свои разработки в OS X + Mono, если вы того пожелаете. Это просто не позволит вам избежать Windows.