[Mono-winforms-list] Does Mono + WinForms + Mac OS X generally work?

Baltasar García Perez-Schofield baltasarq at gmail.com
Wed Sep 11 13:15:54 UTC 2013


Hi,

> > So, what's the deal with this?  Have people successfully ported WinForms
> > applications to Mac OS X?  Do you think I would get better results if I had
> > used Gtk#?
> > --David Grayson

	The GUI part is one of the dark, ugly, uncomfortable, <put your negative adjective here> part of Mono. At least, on Mono for the Desktop.

	* Winforms is included in the virtual machine bundle, so it would be the logical choice. Unfortunately, a) it is considered deprecated by the Mono team ((?) though there is no alternative), and b) it works great on Windows, it works ok in Linux (a little bit uglier), and it seems it does not work on Mac at all (I don't own a Mac, so I have no personal experiences about this -- Anyway, I've read a lot of horror stories like yours around).

	* Gtk# is the toolkit of choice for Mono desktop applications. The Mono team is polishing its look and feel precisely on Mac. It is multiplatform and good-looking, but obviously not native, apart from Linux. MonoDevelop has a quite good GUI designer for Gtk#. Unfortunately, it involves distributing an installer (don't think of a couple of dll's) along with your application, in Windows or Mac. Also, it is somehow obscure and twisted in some points.

	* Moonlight: I think it is also deprecated, I think because MS considers Silverlight obsolete and won't continue it. Moonlight in the Mono web (http://www.go-mono.com/moonlight/) returns a 403 error.

	Lately there has been some movement around Qyoto (a Qt binding for Mono).

	You can see the state of things here (by the very own Xamarin/Mono team):
	http://www.mono-project.com/Gui_Toolkits

	Lluis (the main developer behind Monodevelop) started XWT (https://github.com/mono/xwt). I think it is an effort to code using one library which uses Winforms or Gtk# as needed in the target platform (its use seems similar to Gtk#, though). Obsolete information can be found here: http://foodformonkeys.blogspot.com/2012/11/xwt.html The place of this library is: https://github.com/mono/xwt I'm unsure about the current state of things here.

	Unfortunately, things won't get better in this front in the near future: Xamarin people is obviously more interested in Mono for Android, iOS, and also in those companies that have chosen Mono/C# as their scripting language. Indeed, Mono binaries for 3.2 are not even available for download, unless you own a Mac.

	Though I perfectly understand why, it is a quite depressing situation for those of us interested in a multiplatform C# for the desktop, in the same way Java is a complete solution for the desktop. Actually, there is nothing to blame Xamarin about this: its interests, as stated above, are elsewhere.

-- 
Baltasar (baltasarq at gmail.com  http://baltasarq.info/)


More information about the Mono-winforms-list mailing list