Boost logo

Boost :

Subject: Re: [boost] Thoughts for a GUI (Primitives) Library
From: Binglong Xie (binglongx_at_[hidden])
Date: 2010-09-02 16:09:31


Even though many years ago C++ was advocated as the right language for
"complex systems and GUI applications", I think people agree the current
status is unsatisfactory to write GUI applications in C++. In fact, I often
see people writing GUI using C# and only some performance critical
components with C++. If there is a "good" C++ GUI framework, no one wants
the hassle and overhead of mixed language programming.

Summarizing thoughts from other people in this discussion and the example of
WPF, I think a successful C++ GUI framework would need:
1). Reasonably rich initial feature set. Serious applications cannot really
switch from MFC/wxWidgets/Qt to simple things obviously (for example as
simple as GLUI). Then if no substantial traffic is directed here to the
framework, it may finally end up as another unsuccessful C++ GUI library.
Yeah, this is sort of the chicken or the egg delimma.
2). Design tool support. Crafting GUI with lines and lines of hand written
C++ code may not scale for complex GUI (unless C++ reaches that
expressiveness of a much higher level). The C++ GUI framework will need to
have a matching GUI design tool.
3). Code/art separation. Like C#/XAML in typical WPF. This allows GUI to be
designed by user experience professionals or artists instead of C++
programmers. This is related to 2).

None of above is easy. For example, when different platforms are considered,
GUI is very complex and debatedly harder to abstract than process, thread,
file system and others. Maybe lessons from Java could be learned. AWT vs.
Swing, native look&feel vs. uniform look&feel blah blah. Each one has lovers
and haters. I think today Java is used much more in GUI-less server side
than front end client applications.

It is a problem whether the open source community can handle it without
strong coordination/organization and stable dedicated resources. In 2004
Stroustrup believed that C++'s problem in GUI was that there was not one
dominant and standardized good GUI library that people could be attached to
(http://www.artima.com/intv/elegance.html). This may remain true for years
to come.

--------------------------------------------------
From: "Cory Nelson" <phrosty_at_[hidden]>
Sent: Thursday, September 02, 2010 2:07 PM
To: <boost_at_[hidden]>
Subject: Re: [boost] Thoughts for a GUI (Primitives) Library

> On Thu, Sep 2, 2010 at 9:11 AM, Daniel Pfeifer <daniel_at_[hidden]>
> wrote:
>> Am Donnerstag, den 02.09.2010, 10:14 -0400 schrieb Edward Diener:
>>> ... I personally would
>>> prefer a modern C++ GUI based around Boost and any other modern C++
>>> libraries as well as the constructs soon to be incorporated in the next
>>> C++ standard.
>>
>> Who would not?
>>
>> If Boost had such a library, would anyone around here even consider
>> using wxWidgets or Qt? Probably not?
>>
>> I think then anyone should agree that such a library could be useful to
>> have in Boost.
>>
>> Whether it is worth the effort to create such a library is a completely
>> different question.
>>
>
> Looking at the latest advancements in UI like Microsoft WPF, I think
> it would definitely be worth the effort to bring a modern UI framework
> to C++. We could do _so much better_ than wxWidgets, Qt, and GTK. I
> think a better question is: could enough people agree on its design?
>
> --
> Cory Nelson
> http://int64.org
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk