I’m really contemplating starting my next project as a C#/Mono/Gtk# combination.
In the past I never picked up GTK because everything built with GTK seemed to look horrible, I’m a bit of an OCD when it comes to visual representation. However tons of applications (think Banshee, The VMWare Console ) have clearly proven my biased opinion wrong and reshapen my view on GTK as unaesthetic.
I come from the Win32 API, [CreateWindowEx][2s] had too many hwnd’s, GTK# offers a very nice API but what if I need to dig deeper (extend control behaviour, etc.) will it work against me or with me?
I never used Mono nor GTK so the “hey it runs on Linux and Mac OS” argument sticks like glue in my skull and would love people beating some sense into my (more than likely) overly simplified view.
What should I be weary of when starting up?
The biggest problem I have hit is the lack of good canvas control which you may need if you really want to create nice UI. Banshee for example has a whole bunch of custom controls written by Aaron Bockover from scratch using Cairo. As flexible as this solution is, it requires a very deep knowledge of Gtk, Cairo and everything else involved.
However, don’t take my opinion as an discouragement. Gtk+ and by extension Gtk# is a terrific environment and it is very easy to quickly create very visually compelling GUIs with it.