I need to re-write an old application, that is currently Windows only, to OS X plus do a few updates on the Windows version.

I was thinking of just doing a full rewrite and using a framework to keep most of the code base the same for the OS X and Windows version. I'm not sure how easy this is. I've checked QT, Xamarin and Monodevelop. I'd prefer to do it in C#, so my preference would be either Xamarin or Monodevelop but I'm not sure how much of the code-base the app can share between the 2 OSes, especially the GUI part.

Which of the two (three) platforms can you recommend if I want to rewrite the Windows code as little as possible?

  • 1
    I have replaced your last sentence because it was not really on topic here. Whether the GUI is the only part that will be OS specific depends very much on the original code: if business logic was mixed with UI code, you will have to separate it all out in order to at least re-use the business logic (see Separation of concerns)
    – user416
    Commented Sep 1, 2014 at 13:48

1 Answer 1


Yes, with Xamarin/Monodevelop you would only have to rewrite the GUI part.

If you are unlucky, you might find some subtle differences between the Windows .NET implementation and Mono, but in such cases you should report them as bugs, so that they get fixed.

I maintain a Windows+Mac+Linux app using C#/Monodevelop, and I am rather happy with it, maybe because the GUI part is not that big.

The GUI looks very native on each system.

  • Thank you for your reply. Just one more question, using Monodevelop for Mac, does the GUI look native?
    – Cornwell
    Commented Sep 1, 2014 at 17:32
  • 1
    @Cornwell: Yes. I updated my answer.
    – Nicolas Raoul
    Commented Sep 2, 2014 at 6:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.