[Mono-list] Gtk# or the future Windows.Forms Mono

Jonathan Pryor jonpryor@vt.edu
Fri, 15 Apr 2005 19:53:09 -0400


On Fri, 2005-04-15 at 15:04 -0400, Wei Weng wrote:
> That is also my question. Will Mono abandon (eventually) gtk# and go full 
> force behind SWF once SWF gets matured enough on most major platforms?

Mono will do that when Microsoft stands behind SWF[1]. :-D

Which is to say, No, Never, and You Must Be Kidding, Right[2]?

Gtk# is, and will continue to be, the "official" toolkit of Mono, as
much as Mono has an official toolkit, anyway.  Why?  Because Mono was
developed by a bunch of Gnome hackers who wanted to simplify Gnome
development, and GTK+ is the toolkit of Gnome. :-)

This isn't entirely true; there is also development on Cocoa# for better
Mac OS X integration.

So the closest to an "official" position would probably be this: design
your code to utilize multiple different front-ends so that you can
better integrate with all of your target platforms.  This implies having
Gtk#, SWF, and Cocoa# GUIs, if desired.  Is this more work?  Yes.  But
your users will prefer it.  (For proof, just see the history of cross-
platform toolkits between Mac OS and Windows.  The users tended to
prefer Mac-native front-ends in almost all cases.  Even now, I hear
grumbling from users that Qt programs don't look "quite right" on the
Mac, because buttons are the wrong size and other subtle issues.)

Of course, what developer wants to support three (or more) different
code bases?  None.  But that's another matter....

 - Jon

[1] Microsoft has stated that Avalon is the future, and SWF has no long-
term future.  At least, that's my current interpretation of their
statements.  There will be some work to make it possible to use Avalon
from SWF and vice-versa, but Avalon will be preferred, make no mistake.

[2] Plus, if Mono dropped Gtk# Mono would be crucified by Free Software
users because of the ever-present cry, "what about patents?!"  With Gtk#
we can better insulate our users from any potential issues and provide
an alternative.  Plus, SWF sucks[3] (no box layout, difficult i18n and
l10n, and various other issues).

[3] Yes, this is intended to start flames. :-)