Существует несколько решений для создания настольных приложений для Mac с использованием .NET.
Mono - это альтернативная реализация .NET Framework, которая реализует базовые вызовы API Windows, которые выполняет Win Forms. Вероятно, это самый простой способ перенести существующее приложение Win Forms на Mac.
ElectronNET представляет собой комбинацию Electron и .NET. Electron предлагает среду разработки настольных систем, сочетающую в себе движок рендеринга Chromium с NodeJS. Лучше всего, если вы хорошо знакомы с веб-разработкой. Примечательно, что крупные компании, которые хотят создавать кроссплатформенные приложения, используют Electron (код Visual Studio, Slack, Atom и т. Д.), Поэтому те, у кого есть время, чтобы инвестировать в исследование создания кроссплатформенного приложения, похоже, выбирают этот вариант.
Avalonia - это платформа для настольных компьютеров .NET, созданная по мотивам WPF, но кроссплатформенная.
Так что нет, вам не нужно повторять ваше приложение. Надеюсь, вы проделали хорошую работу по отделению логики пользовательского интерфейса от бизнес-логики, что облегчит использование одной из этих технологий.
Обратите внимание, что, хотя .NET Core 3 (кроссплатформенный) поддерживает Win Forms и WPF, эта функциональность будет работать только в Windows. Win Forms по-прежнему зависит от базовых API-интерфейсов Windows, а WPF по-прежнему зависит от DirectX.