Фреймворк для разработки под OSX и рабочий стол Windows

Мне нужно переписать старое приложение, которое в настоящее время предназначено только для Windows, для OS X, а также сделать несколько обновлений версии для Windows.

Я думал о том, чтобы просто полностью переписать и использовать структуру, чтобы сохранить большую часть кодовой базы одинаковой для версий OS X и Windows. Я не уверен, насколько это легко. Я проверил QT , Xamarin и Monodevelop . Я бы предпочел сделать это на С#, поэтому я бы предпочел либо Xamarin, либо Monodevelop, но я не уверен, какую часть кодовой базы приложение может разделить между двумя операционными системами, особенно частью графического интерфейса.

Какую из двух (трех) платформ вы можете порекомендовать, если я хочу как можно меньше переписывать код Windows?

Я заменил ваше последнее предложение, потому что оно не совсем по теме здесь. Является ли графический интерфейс единственной частью, которая будет специфичной для ОС, во многом зависит от исходного кода: если бизнес-логика была смешана с кодом пользовательского интерфейса, вам придется отделить все это, чтобы, по крайней мере, повторно использовать бизнес-логику (см. Разделение интересов )

Ответы (1)

Да, с Xamarin/Monodevelop вам нужно будет только переписать часть графического интерфейса.

Если вам не повезет, вы можете найти некоторые тонкие различия между реализацией Windows .NET и Mono, но в таких случаях вы должны сообщать о них как об ошибках, чтобы они были исправлены.

Я поддерживаю приложение Windows+Mac+Linux, используя C#/Monodevelop, и я им вполне доволен, возможно, потому, что часть графического интерфейса не такая уж большая.

Графический интерфейс выглядит очень родным в каждой системе.

Спасибо за ваш ответ. Еще один вопрос: используя Monodevelop для Mac, графический интерфейс выглядит родным?
@Корнуэлл: Да. Я обновил свой ответ.