
We had a long discussion on the french community developpez.com recently about exactly this subject. Most of the participants were fighting over the fact that Qt is well enough and that working with high level C++ for GUI is not currently necessary. In the discussion some thought were put in a library concept (that was started after the discussion but I'm not sure about it's current state) and I remember proposing some kind of design, something similar to what we see in recent boost libraries(boost::log, boost::msm) : having the lib being a meta-library with customizable front-end and back-end. I don't think it's possible to build a GUI framework that is general enough for any kind of use. But I think it's possible to provide a way to plug a input-specific-strategy and an output-specific-strategy in some kind of meta-library providing ways to define controls behaviour in a general way, with possibility to use input-strategy-implementation-specific interface if required and output-strategy-implementation specific interface f required too. I'm not sure I'm clear enough (and it's late)... anyway I never implemented something like that so I might be talking about unessessary magic. That said, I and others put a lot of thought in some kind of implementation but I personally don't have time for such an epic task at the moment (I wish I had). The main problem I see is not about technique but about the domain's knowledge, because I see that a lot of us mere programmers don't know much about abstract of graphic communication. For french-speakers, the discussion can be read there : (the server is down, i'll post it later) On Thu, Sep 2, 2010 at 00:46, Edward Diener <eldiener@tropicsoft.com> wrote:
On 9/1/2010 3:38 PM, Ralf Globisch wrote:
I don't know if there's enough space for this. There are a plenty of GUIs Framework,
Giorgio Zoppi 09/01/10 2:17 PM>>> like Qt or wxWindows, which are more advanced.
wxWindows is horrendous as a modern C++ GUI library. It uses C++ as it was used some 15 to 20 years ago and makes endless excuses about why its dialect of C++ must never be upgraded centered around support for hopelessly non-compliant C++ compilers.
Qt is a proprietary framework, also not using modern C++ but its own in-house ideas instead, which have long ago been superceded by modern C++ constructs such as in Boost libraries. Furthermore one can not create commercial applications with it without either releasing the source code or paying Trolltech, or whoever owns them now, some large amount of money. Neither solution is practical for Boost end-users.
There are also lots of other C++ GUI systems around, none of which I have ever found personally flexible enough.
Whoever would be capable of creating a modern C++ GUI system, as difficult as it would be to do, might find it worthwhile. However a number of others have pursued this goal in the past with appropriate Boost vault and Boost sandbox libraries, without getting very far in interesting other Boost users/developers in the practical usage of their systems, or encountering endless discussions and disagreements among programmers who want different things in their GUI library.
So I too think it is an extremely difficult task but not for the reason that there exists anything out there good enough or useful enough as an alternative.
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost