[Mono-list] Linux Equivalent to Visual Studio?

Andreia Gaita shana.ufie at gmail.com
Wed Oct 29 16:51:19 EDT 2008


On 10/29/08, Jerry Houston <jerry at effjayare.net> wrote:
>  I'm a little confused about the apparent terminology difference between
>  Windows and mono.  I realize that graphics are implemented by GDI on one
>  and GTK on the other, but when I design a winform on the .NET side, it
>  ends up implemented using GTK in mono.  At least, that's been my
>  experience when I've moved utilities I've written for .NET to mono.

Winforms, as you rightly put it, is implemented with gdi on
.NET/Windows. On Mono, we also use gdi. More specifically, on
Mono/Linux we have a library called libgdiplus which mimicks gdi+, and
on Mono/Windows we use gdi+ directly. Either way, there is nothing of
gtk on Winforms. All of the winforms api is implemented using C#, all
the controls, classes, event loop, etc, using gdi+/libgdiplus for
drawing.

>  Whatever it is that .NET winforms become when they're ported to mono -
>  THAT'S what I need a designer to create.  Or I need to keep creating
>  everything on the .NET side, and that's what I'm trying to get away from.

They don't become anything other than winforms when they're ported to
mono, really. An app made on windows that uses winforms can run
directly on Mono without porting (well, as long as you follow some
basic design guidelines and don't pinvoke win32 calls directly), since
the Mono winforms api is a direct match, as much as we can make it,
bugs and all, to what your app is expecting to have available.

As a side note, wrt the designer, the technical issue with having it
in MonoDevelop is that MD is a gtk# app. Now Gtk# and Winforms are two
completely separate toolkits, each with their own distinct event loop,
and embedding a winforms designer (which forces you to run a winforms
application loop to be able to interact with the controls you're
designing) within a gtk app which is running a gtk main loop poses
rather interesting problems. Having both toolkits running at the same
time on the same "canvas" so you can visually design your winforms
controls is a challenge. That's why it's not quite done yet,
unfortunately.

I understand your desire to move to linux and ditch windows, I did
that myself at one point. Fortunately, when I did it, I didn't have to
design winforms anymore so I didn't miss that part much. On the other
hand, I still run windows side by side with linux, since developing
winforms requires compatibility testing on it's original platform, and
some times I make apps concurrently on both platforms, when I need a
particular vs feature to make the work go faster. It's not that hard
to do development of an app on both systems at the same time, you just
need to get used to synching code between the two so you can rapidly
switch, and will probably ease your transition a bit.

--
andreia gaita


More information about the Mono-list mailing list