سؤال

all, I'm thinking of porting my application from VB.net to the C# based MONO project, so it can run on both Windows and Mac. However, I am in need of a Mac-friendly alternative to WPF. It has to have very similar functionality. QML (by QT) is not a viable option, as it costs far too much money for us.

هل كانت مفيدة؟

المحلول

Miguel de Icaza recommends MonoMac as a substitute to WPF for Mac as stated here. As he explains there is no plan to implement WPF in mono.

MonoMac is a work-in-progress. Some parts of the Cocoa APIs are not wrapped yet. You should start with the samples to get an idea of what is possible.

You will have to build two different UI on top of a common engine, but that's generally a good separation of concerns.

There is also a possible common code base for UI with GTK#.

نصائح أخرى

There is also https://github.com/AvaloniaUI/Avalonia a multi-platform .NET UI framework inspired by WPF

Depending on your application's functionality, you could potentially port your application to Silverlight/Moonlight. Silverlight is supported on the MAC, but you'll need Moonlight for Linux. Of course, if you're doing a lot of work with the client machine's file system or what not, this is not an option.

tho I have accepted an answer a while back, I want to post what I am doing currently if anyone views this question.

I am currently using Python with PyGTK for the GUI, and GStreamer for the video. This is producing results almost identical to WPF (except some hardcoded animations). Furthermore, it runs on Windows, Mac, and Linux.

EDIT: GStreamer did not pan out for my purposes. While it works well for the most part, I could not layer transparent .png images over the video. I have switched finally to Adobe Flash (Adobe AIR).

EDIT 2: For anyone who comes across this later, when the future of SWF fell into question, my company started building our own animation system in C++, using some components of Gtk+/gtkmm and Cairo. Ultimately, that falls under the advice of the other answer...separate GUI from platform.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top