tags:

views:

301

answers:

3

Hi All,

I was looking at Qt and came to wondering, what is the most popular general purpose C++ framework, and what are some pro's and con's?

Thanks,

Kyle

+12  A: 

The STL and Boost are both pretty popular, and they're pretty much the epitome of "general purpose".

Hank Gay
Is boost a framework? I think it's just a library collection.
tstenner
are they considered "frameworks"? Beyond that - somewhat academic - quesiton, I agree.
peterchen
@peter - I don't feel so. I'm looking for something to truly get my teeth stuck in to, and wouldn't mind having a good starting point.
Kyle Rozendo
Ah, C++-questions, where just posting a link to Boost will get you +4 in 15 Minutes.
tstenner
Meh, that's why it's Community Wiki. "General-purpose framework" to me does sort of sound like a library, hence my answer.
Hank Gay
IMO framework = skeleton you have to fill, library = lego blocks. But as said, that's somewhat academic, as the distinction isn't black / white.
peterchen
+1  A: 

Qt is very popular. It's available under open-source (LGPL) and commercial licenses, has fully-featured core and GUI class libraries and an integrated IDE and build system. It's also cross-platform.

It's under very active development and has a new declarative UI library (QtQuick including QML) due in the next release (4.7).

Definitely worth checking out for new projects.

For Windows-only work MFC is still worth a look. It's recently been updated.

Stu Mackellar
+3  A: 

The question as it stands is probably unanswerable; you'll probably end up with a list of people's interpretation of "framework" with no real way for distinguishing them.

Perhaps we need a definition of framework? I suggest it is a library that in some way determines the architecture of an entire application. However that is perhaps a definition of "Application Framework", but if you mean the term more broadly, then the question is probably too broad. This definition however makes say Qt a framework, while Boost remains just a library. That makes Boost no more or less useful, so I really don't understand what you are trying to discover from the question.

Here's a list of UI related libraries that might be considered "frameworks":

The most notable distinguishing feature is that some of them are cross-platform, and some are platform specific. Gnome is perhaps distinguished by having a C API (GTK+). .Net supports multiple languages, but requires C++/CLI rather than ISO C++ (but that is no worse than Qt's pre-processor IMO). MFC is a bit long in the tooth and not supported by free or third-party tools. TurboVision is antique and included for my amusement and geek nostalgia.

Clifford