zaterdag 15 maart 2008

Interesting move concerning Mono on Linux

MonoDevelop an open-sourced IDE for creating software using Mono has gone gold. Sounds interesting! It is more stable than before, but there are some caveats:

1. The documentation is far from complete!
2. To be able to create applications graphically is darn nice, but the GTK# implementation of Windows.Form namespace requires an awkward approach: I can't simply drop components on my form, but I have to create a layout before doing anything and I'm still waiting for a normal Visual Studio compatible layout manager.
3. Monodevelop and GTK are partly written in unmanaged C++. There are layouts present but I don't like all of them, since I can't control HOW I want to place the controls on my form.
I want to control the size and the position of the components, so I don't need those silly layout-managers. If I don't use such a layout, the component gets the size of the complete form and that's very undesired. Monodevelop calls this a feature, but I call it a design-flaw.

So be warned and be patient about testing Mono. It's going better with it, but I'm not very content yet.

The reason that I also blog about MonoDevelop is the fact that I'd like to run my desktop applications anywhere and it shouldn't matter whether the OS is Windows, Linux, MacOS or Solaris! Platform neutrality is my heart's wish!

2 opmerkingen:

Michael Hutchinson zei

* Container based layout is what any modern GUI toolkit uses. It makes translation and resizing non-issues. It's just a matter of getting used to the new paradigm. When you get used to it, co-ordinate-based layout becomes extremely frustrating in its limitations.

* GTK# is *not* an implementation of System.Windows.Forms. It's a wrapper around the cross-platform GTK+ library that's used to write many Linux applications, similar to how S.W.F. is a wrapper around the Win32 windowing toolkit.

* MonoDevelop is written in pure managed code. GTK+ is not, but then, neither is the Win32 toolkit that Windows.Forms uses.

* Mono does have a managed implementation of System.Windows.Forms too, if you prefer to use that, but the designer is not integrated into MonoDevelop.

* You might like the Gtk.Fixed container, though IIRC the designer doesn't support it.g

Tom van der Vlugt zei

I'm sorry that the natural Windows Forms isn't integrated into MonoDevelop. :-(
I've experimented the GTK# and I begin to understand it, but I still prefer the Windows Forms way. Maybe I hope that there will be a couple of programmers who are ready and willing to inject Windows Forms into MonoDevelop besides the existing GTK# So we can choose.