[Mono-list] Implementing System.Windows.Forms

Piers Haken piersh@friskit.com
Mon, 16 Sep 2002 04:31:43 -0700


There's a fundamental problem with implementing Windows.Forms on a
non-win32 platform. Sure, there's a certain amount or work you can do
with Gtk, Qt, Xthis, Xthat or even XLib, but unfortunately it's
<i>extremely</i> difficult to simulate Control.PreProcessMessage(). The
only (open source) group that does that well right now is Wine. There
may well be a Wine-dependant implementation of Windows.Forms in the
future, but I don't believe this is a primary goal of the core Mono
team.

Nevertheless your question is a good one. Should the Mono community try
to implement a Windows.Forms-compatible environment? And it's not like
this hasn't been beaten to death already...

It seems to me that there are two ways to do this:
1) provide full compatibility: implying some Wine-like emulation of
windows messages.
2) provide partial compatibility. Maybe with a Gtk/Qt/Xlib-based layer
that emulates <i>most</i> of the functionality, but necessrily not all.

There has been some great work done providing windowing environments for
mono (Mike Kestner (Gtk#), Adam Treat (Qt#), et al.) but these are
necessarily incompatible with the majority of .NET code that has been or
will be written.

<flameproof>
To me, the real question is whether or not mono is destined to run those
.NET applications or if it is destined to become yet another language
binding to some windowing toolkit that nobody wants to write to. I'm
generalizing percentages here, of course.
</flameproof>

That's not to say that mono doesn't have the opportunity to become
important in it's own right as a key component in a non-win32-based
windowing toolkit, or even on the server side as a 'competitor' to java
(assuming Ximian can pump enough cash into it as Sun and IBM have
done... err...)

Anyway, I digress, as usual...

Piers.

> -----Original Message-----
> From: Seun Osewa [mailto:osewa77@yahoo.com] 
> Sent: Sunday, September 15, 2002 9:35 PM
> To: mono-list@ximian.com
> Subject: [Mono-list] Implementing System.Windows.Forms
> 
> 
> Hi!
> 
> I wonder why System.Windows.Forms is not being
> implemented with XLib for UNIX-based systems.  I know
> that this means that System.Windows.Forms on mono will
> have to be re-implemented for the Win32 platform but I
> wonder why we should care about that since the
> Microsoft .NET runtime already takes care of that.
> 
> Using the current approach, I suppose
> System.Windows.Forms is bound to perform less
> perfectly (I don't know by how much) on non-Windows
> systems.  The current approach is much like a
> duplication of Microsoft's earlier efforts.
> 
> Why don't 'we' just use XLib?  Since wine is layered
> on top of this?  AFAIK mono should be aiming for
> compatibility with the Microsoft .NET runtime which
> means it shouldn't matter if our Windows.Forms
> implementation does not run on Windows.
> 
> Well, what do you think about this?
> 
> __________________________________________________
> Do you Yahoo!?
> Yahoo! News - Today's headlines
> http://news.yahoo.com
> 
> 
> _______________________________________________
> Mono-list maillist  -  Mono-list@ximian.com 
> http://lists.ximian.com/mailman/listinfo/mono-> list
>