[Mono-winforms-list] Using Windows Forms over Linux

StApostol stapostol at gmail.com
Wed Nov 18 12:25:55 EST 2009


Frankly, the best way to create a cross-platform GUI is to use GTK# from the
beginning. With WinForms, you'll encounter several issues that will make
things rather difficult down the road: flaky databinding, slow rendering
(especially for grid views), inconsistent rendering between versions,
inconsistent ordering of events (quite, eh, fun to debug), lack of theming.

By far the best solution is to abstract the GUI away from the main
application and use different technologies for different platforms (e.g. WPF
on Windows, GTK# on Linux and Mac OS X). However, this takes a lot of
resources and planning to implement correctly.

The second best option is to use GTK# all the way. You'll trade some of the
"native" look and feel for easier development (see e.g. MonoDevelop on
Windows).

The third option is to use WinForms everywhere, keeping in mind the caveats
I mentioned. WinForms is not meant for cross-platform development - it has
no native look and feel (unless you create custom widgets for everything,
which is certainly an option) and it is painful even on Windows (try using
native Vista fonts, for example or creating a DPI-independent GUI - that's
right, you can't really do that). Finally, it's a pretty much dead
technology that hasn't been updated in the last 5 years. (Yes, there are
still good reasons for using it, as long as you keep the drawbacks in mind).

Finally, it might be worth checking out Silverlight/Moonlight. These have a
pretty nice development environment and can be used both online and offline
(with a little work).

My 2cc :)

2009/11/18 Petit Eric <surfzoid at gmail.com>

> 2009/11/18 Dimitris Karantonis <dkarantonis at soft4real.com>:
> > Hi,
> >
> > This is an interesting solution, but does it actually works? And what
> about
> > maintenance through the application's lifecycle? Meaning, how do you
> handle
> > situations when you want to add a new event?
> It work, i don't really practice it for professional, most for hobbies.
> I often hack by the hand the .Designer.cs file, rather restart a VM.
>
> >
> > Does Mono opens Visual Studio solutions and furthermore, does it compile
> > Window Forms properties like anchoring, docking, etc...
> Compile is most good
> >
> > What about installing Win Forms Designer kit on your MonoProject IDE?
> Have
> > you ever thought of this?
> I would like a winforms designer in MonoDevelop, Ivanz started working
> on it but ....
> http://www.mono-project.com/WinForms_Designer
> http://www.mono-project.com/WinForms
> http://www.mono-project.com/Guide:_Porting_Winforms_Applications
> http://www.mono-project.com/Category:WinForms
> >
> > Regards,
> > Dimitris
> >
> >
> > -----Original Message-----
> > From: Petit Eric [mailto:surfzoid at gmail.com]
> > Sent: Τετάρτη, 18 Νοεμβρίου 2009 12:28
> > To: Dimitris Karantonis
> > Cc: Mono-winforms-list at lists.ximian.com
> > Subject: Re: [Mono-winforms-list] Using Windows Forms over Linux
> >
> > To write MonoOSC, i used VS C# express to design my winforms and generate
> > needed event (through an VBox machine) and then i wrote all code/class
> with
> > MonoDevelop under Linux :-)
> >
> > 2009/11/18 Dimitris Karantonis <dkarantonis at soft4real.com>:
> >> Hi to all,
> >>
> >>
> >>
> >> I am new to .net development over Linux platforms (I have always used
> >> MS Visual Studio platform) and I would like to ask what is the best
> >> way of implementing a Window Forms application in order to be able to
> >> deploy it on both Windows and Linux OS.
> >>
> >>
> >>
> >> 1)      Should i use MS visual Studio 2008 on my Windows Machine to
> >> develop the application and then use some tool in order to migrate
> >> the application to the Mono format?
> >>
> >> 2)      Should i use a Mono plug-in for the MS Visual Studio platform
> >> and develop the application?
> >>
> >> 3)      Should I use MonoDevelop on my Linux machine and install the
> >> Win Forms Designer toolkit?
> >>
> >>
> >>
> >> Could you give me some advices concerning what is the best way to
> >> follow and some instructions of how to implement it (meaning,
> >> instructions of how to install and use the Visual Studio - Mono
> >> migration tool, the Mono plug-in for VS Studio and the Win Forms
> Designer
> > toolkit on MonoDevelop.
> >>
> >>
> >>
> >> Best regards,
> >>
> >> Dimitris
> >>
> >> _______________________________________________
> >> Mono-winforms-list maillist  -  Mono-winforms-list at lists.ximian.com
> >> http://lists.ximian.com/mailman/listinfo/mono-winforms-list
> >>
> >>
> >
> >
> >
> > --
> >  Cordially.
> >
> >  Small Eric Quotations of the days:
> >
>  ---------------------------------------------------------------------------
> >  I have no special talents. I am only passionately curious
> >
> >
> >
>
>
>
> --
>  Cordially.
>
>  Small Eric Quotations of the days:
>
>  ---------------------------------------------------------------------------
>  I have no special talents. I am only passionately curious
> _______________________________________________
> Mono-winforms-list maillist  -  Mono-winforms-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-winforms-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-winforms-list/attachments/20091118/a4bf9bd4/attachment-0001.html 


More information about the Mono-winforms-list mailing list