[Mono-list] GTK# vs. Windows forms?

Francisco T. Martinez martinf@mfconsulting.com
Sun, 23 Jan 2005 12:54:13 -0600


SigmaX wrote:

> Hey;
> I've recently started tinkering with GTK# for the first time, and 
> getting used to Glade.  What are the pros and cons of developing on, 
> say, Visual Studio with Windows Forms vs, maybe, GTK# on MonoDevelop?  
> A combination of Glade and GTK# seems mature enough to be a viable 
> alternative to Windows Forms on the surface, but what about underneath 
> the hood?
> I'm a newbie to C# and I'm no .NET expert, so don't bombard me with 
> too many details ;-).
>             Cheerio,
>                 SigmaX
>
Mono has to major codebase branches now days.  The 1.0 branch has pretty 
stable Gtk# development in all platforms but Windows Forms is not well 
supported there.  The next milestone release of Mono will likely support 
Windows Forms quite well.  Development snapshots of the code -- as it 
will likely be the case for the impending Mono 1.1.4 --  will likely 
give you a usable set of System.Windows.Forms in *NIX.

You can develop Glade#, and Gtk# applications in C# using Visual Studio 
.NET 2003 and even Visual Basic .NET  Glade# projects if you install the 
Gtk# Win32 Installer for .NET Framework 1.1 SDK.  This installer is 
available here:

http://forge.novell.com/modules/xfcontent/file.php/gtks-inst4win/Win32%20Installer/v1.9.1.0/gtksharp-1.9.1-win32-0.3.exe

Finally, Gtk# applications will look and feel best in Linux.  They also 
look and behave well in Windows but look best in Windows XP.  The work 
that the Mono team is doing with the Managed Windows Forms is excellent 
and already looks very nice in *NIX.  However, as I said above is still 
under construction and even after is initial release, it may not 
imediately integrate with facilities of the GNOME desktop as well as you 
can make Gtk# applications do today.

Personally, I strongly believe that if you are a Windows .NET programmer 
that already knows how to use System.Windows.Forms, you stand to gain 
most from learning Gtk#.  Then, as soon as Windows.System.Forms is 
ready, you can make the best decision based on your own elements of 
judgment.

Paco