This post was intended to be about the development of GUI applications with C++, but if you read forward, you’ll soon realize that it became more of rant, a monument to my frustration with existing C++ GUI toolkits (sometimes referred to as widget toolkits. Applying a bit of a self-censorship, I’ve managed to tune down the tone of the article a bit, though I had to remove a lot of “craps” from the text in the process.
First question to answer is why would one even want to use a GUI toolkit. As far as I’m concerned, the answer is portability – I work on both Windows and Linux systems and I want my applications to work on both. The standard C++ library provides no support for GUI development, which is actually fine with me, as I believe that such a complex functionality should not be part of any standard library. (Java, I’m looking at you. The quality of your GUIs is pathetic.) On the other hand, a good place where I would expect a GUI toolkit to appear is Boost. Unfortunately, there is no Boost.Gui at the moment and there won’t be one in the foreseeable future.