tags:

views:

200

answers:

2

Hey guys 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 application (think Banshee, The VMWare Console ) have clearly proven my biased opinion wrong and reshapen my view on GTK as unaesthetic.

I come from Win32 API, CreateWindowEx'd 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 to my (more then likely) overly simplified view.

What should i be weiry off when starting up ?

+1  A: 

Since you mention Banshee as a project that inspires you, and it is written in C#, perhaps start off by browsing its sources a bit? That would give you a direct way of seeing how the UI code looks like, in an application that has a look and feel and "UI complexity level" suiting your tastes, in a language you already know.

unwind
Thanks for the comment i actually looked at all the sources and examples of both GTK+ and GTK# and found it to be very clean and useable. My main concern is really if its easy to extend the behavior of controls if i see fit and dig beneath the nice API layer? I'll rephrase my question.
Martijn Laarman
+2  A: 

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.

Piotr Zurek
Thanks for the comment! I take creating custom controls more as a challenge and fun thing to do provided a decent environment is there.
Martijn Laarman