What Features Should A GUI toolkit have?

Taylor Hillegeist via Digitalmars-d digitalmars-d at puremagic.com
Thu Mar 5 22:02:16 PST 2015


So I have played with a few GUI libraries with bindings available 
through D. Personally I find that it seems like there is alot of 
effort being put forth on GUI projects.

It is my experience that most project's fail or die, not because 
of lack of effort but lack of specification, many people start 
projects thinking, can i make it do this? how about this? and a 
project is born! but soon interest is lost and the project dies. 
But specification can lead to projects that become useful 
earlier, more stable, and live longer happier lives.

At this point i think the following features are the most useful.

-Ease of setup-
dub integration is awesome, without it things are more difficult. 
This has very little to do with the actual toolkit.

-Minimal dependencies-
Personally If i can statically link a toolkit to my GUI and it 
has zero dependencies outside of the OS typically install. I am 
very happy. really the less that can be messed with the better.

best in my opinion: DWT MiniGUI DGUI at least for windows.

-Rock Solid Stable-
So when I do the hello world application I resize the window push 
the buttons and do pretty normal things. But on some libraries I 
get weird stuff going on sometimes the window even becomes 
invisible..... scary.

best in my opinion: GTKD TKD

-GUI EDITOR/BUILDER-
Good- You can edit a static layout
Better- you can edit a layout and re-size the window layout 
responds
Best- you can edit the actual window in real time without 
recompile.

Good- You have a pallet of basic widgets that you can place.
Better- You have a pallet of basic widgets + custom widgets that 
you can edit.
Best- You have the above + a database were people can share 
widgets :)

-Widgets-
Personally I think that all layout items like HBar should be 
children of widget that way i can make more modular component, 
but that's just my opinion.

-Data Binding-
Most of the time I use that data a widget represents and much 
less often the events they produce.

-Ease of Use-
Your tookits should work for you... not the other way round.

-layout-
I have seen some schemes like Winforms Dock,javaFX HBar, HTML5's 
float/static/absolute/realitive... Idk what seems the most 
freindly... HTML5/css seems the most complex. I have a dream 
H/VBar + align/distribution/wrap options.

I know some of these are RAD things. I don't have an opinion on 
thread safe guis. personally I would like to see a GUI tookit 
that the community said... use X it is just the way to go for 
most things.




More information about the Digitalmars-d mailing list