Whisper is a free, open source, general purpose Mac/Win32 C++ application framework. It’s the successor to the Mac framework Raven. Like Raven Whisper is a modern framework that takes advantage of templates, multiple inheritance, STL, and exceptions. It’s also designed around the notion of Design by Contract and includes numerous debugging tools.
Whisper 2.0 and a complete change history can be found at (http://www.halcyon.com/www3/jesjones/Whisper/Home.html). This is a big release with numerous bug fixes and changes, but there are three main changes:
1) Instead of one monolithic framework Whisper is now divided into nine framelets. This should make it a lot easier to pull in just what you want from the framework.
2) I’ve added a COM-like object model. This is similar to Microsoft’s COM but plugins are required to be written in C++, exceptions are used instead of return codes, strings instead of GUID’s, and reference counting is automated. This makes it possible to create very modular apps and has some nice benefits even if you’re building a monolithic app (it provides some of the dynamism of languages like Objective-C and makes it easy to create very fine grained object hierarchies).
3) The UI layer has been rewritten using COM. This has turned out very well: the widgets are put together in a very modular way and it’s trivial for clients to add new interfaces or replace an existing interface.