Boost logo

Boost Users :

From: Robert Ramey (ramey_at_[hidden])
Date: 2005-02-17 16:50:27


I'm betting this post will recieve a lot of response but that you won't find
what you're looking for.

I've only been watching discussions along this line enough to convince me
that although there is much interest in this,
we're not there (yet?).

However, I don't think all is lost.

My experience with GUI stuff is in writing programs using MFC. Typically
there is the opportunity to divide the
application in to two "halves".

a) A "lower" half which is (mostly) portable which deals with data, devices,
etc and exposes
an interface (or API) by which the underlying data, devices, etc. can be
manipulated.

b) An "upper" half which handles gui stuff like drawing, events, etc. This
upper half is generally non-portable
an particulary to the environment - windows, mac, or what ever.

The lower half is very suitable for a boost approach and architecture. any
and all of boost can be useful.

This is generally refered to as MVC (Model, View, Controller) pattern.

The upper half - well it depends... I think its too hard (expensive) to
make this portable and generic and still benefit
from all the code that comes with MFC or other GUI toolkits. Though there
may be some places where boost stuff is
useful, I think that mostly one will get most bang for the buck in doing
this part "their way".

To summarize, a project of this nature is best factored into loosly coupled
pieces. Some pieces are are a very good fit with boost - and others are
not. Use the best toolkit for each piece.

Someday, their may be a boost library which presents a common interface to
GUI libraries. But until that happens, I would recommend the above.

Robert Ramey

Matthew Johnson wrote:
> I would like to study a gui application designed from the ground up
> with modern C++ techniques and built on top of STL and Boost. Ideally
> I am looking for an application that abstracts the system specific ui
> components (windows, controls, etc) as much as possible.
>
> The ideal application would:
> Implement significant, non-trivial functionality.
> Be elegant and efficient.
> Use modern C++ and implementation design techniques.
> Be built on top of STL and Boost.
> Use the best techniques for the job (metaprogramming, generic
> programming, functional programming, oo, etc)
> Have source code available for study (not necessarily available for
> legal use).
> Last but not least, a native Mac OS X application would be ideal.
>
> Does anyone here know of any applications that meet these
> requirements? I have been studying modern C++ for a while now and
> would like to study real world applications and uses of the these
> techniques and libraries as a next step in this study.
>
> Thanks,
> Matthew


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net