28 October 2006

GUI Toolkits - Evaluation

I reckon I am probably in the minority here, but I am less concerned about the code format of GUI toolkits. I am more concerned about what it is capable of and what it looks and feels like. After all it is more than possible to write an abstraction layer on top of it to hide some of the less nice features, and adapting to different styles is a learning process.

Whilst screenshots can be misleading or more often understating the abilities of a toolkit, a well-defined example application is more than enough to decide whether to evaluate further. With online type user interfaces it is much easier, whereas you need an executable to try things out for most others.

It's surprising how few go down this route as it is such a good way to show how good an application is on your platform. I thought I would put together a list of some you can check out now.
  • JUCE - The JUCE demos are downloadable here.
  • wxPython - There is the wxPython demo available here. Unfortunately you do need Python installed as well to run it.
  • wxWidgets/wxAUI - There is a demo of how wxAUI works here.
  • WTL - There are lots of precompiled examples on CodeProject here.
  • Ultimate++ - Download the package as TheIDE is written in Ultimate++.
  • Adobe Source Libraries (ASL) - They have their Adam and Eve engine available for download here. Thanks to dtinkham, and I'll leave it in his own words: Mac is available also. Unzip, and you will have an app called begin.exe. Start it. It runs 1 example using their .adam and .eve files. To try out other UI examples, drag a pair of .adam and .eve files from the examples directory onto the main app window (the wide-short window), and it loads up a new window from the .adam and .eve form file specs. I had played with this a little but the drag and drop changing of the UI completely escaped me(!)
  • qooxdoo - The Javascript based toolkit has lots of examples that you can check out through your browser here.
I've probably missed a stack of them, but I'll try to find some more. If you know some more leave a comment and I'll add it to the list.