[Mono-list] how to develop a cross platform solution with Mono
Jonathan Pryor
jonpryor at vt.edu
Sun Mar 18 20:11:01 EDT 2007
On Fri, 2007-03-16 at 08:35 -0400, Sam Carleton wrote:
> It makes me wonder
> about unified GUI development. The last thing I want to do is have a
> Gtk# for Linux, once I get there, WinForms for Windows, and CocoaSharp
> for OSX.
*You* may not like having platform-specific UI code, but your *users*
will love it.
There are only two portable UI libraries that work on Win32, Linux, and
OS X: Qt and Java Swing. (GTK+ is in the works.) Both permit what you
want, and both annoy the users. In particular, since Qt and Swing (and
GTK+) all rely on custom drawing, AS SOON AS the OS vendor updates the
look-and-feel of their native widgets, the the apps look "wrong" or
"old." (Assuming that they were ever "right" to begin with -- I've
heard complaints against Qt that the buttons under OS X don't have the
same amount of padding around words that "real" widgets have.) Then
there's drag-and-drop, integration with the OS X "Services" menu, etc.
Portable UI code is good for *you*. It's NOT good for the user, unless
all of your users are on one platform (in which case you don't need to
care about a portable UI library, do you?).
> So in the end, my thoughts have been leaning towards punting with .Net
> and either using Mozilla's XULRunner and XPCom as the framework, or
> using Qt. I do like C++ development, but I do fully respect the speed
> and ease of .Net development, so the question remains:
The good news is that XULRunner and XPCom can work with Mono. The bad
news is that it's really Q@#$% ugly and brittle (last I heard); see the
ASP.NET Editor within MonoDevelop.
> Is there a way I can develop a unified GUI using Mono that will give
> me a rich user interface in both Windows and OSX?
Rich? Yes.
Rich enough for all of your users expectations? Never in a million
years. People have tried for decades, and no one has succeeded.
- Jon
More information about the Mono-list
mailing list