What is the VCF?
The Visual Component Framework is a C++ application framework that offers a modern, clean, C++ architecture and is designed to be cross platform. The core framework is divided into three major libraries, the FoundationKit, the GraphicsKit, and the ApplicationKit. The FoundationKit provides basic services such as file access, streams, threads and synchronization primitives, and advanced RTTI features. The GraphicsKit provides a nice set of graphics classes for working with both image and vector graphics, and has built in support for the Anti-Grain Graphics library, as well as image loading services to facilitate loading various graphics formats. Finally, the ApplicationKit provides a rich set of GUI controls, use of the Model-View-Control pattern, property and component editors, undo/redo support, drag-and-drop, and clipboard services, application resources, and UI metrics and policy managers.
While the framework is designed to be ported to other platforms, it's primary platform is Microsoft Windows, built on top of the Win32 API. Because of this, even if you have no interest in the porting your application to another platform/OS, the VCF is easily one of the most productive frameworks out there for Windows C++ development. It's built using native controls, and makes every effort to conform to Microsoft UI guidelines. This includes full integration for things like Help (using Microsoft's HTML Help format), tooltips, context sensitive help, and so forth. If you're writing a new application and you're considering using something like MFC or WTL, you may want to strongly consider looking at and using the VCF instead. If you have an existing MFC or WTL application, you can enhance it with new features built using the VCF.
To facilitate cross platform functionality the VCF is is built using a system of peer interfaces that abstract away the various platform specific calls, with each peer tackling a specific service, such as as threading, file handling, windowing system controls, and so forth. These peer classes are also exposed, and can be used to get access to the lower level OS handles or primitives that they wrap, allowing the developer to write platform specific code if the need arises.
Finally, the VCF is flexible. While it is certainly designed to be a standalone application framework, it also aims, as much as possible, to cooperate with existing toolkits and/or frameworks. For example, if you have an MFC application, you can easily use just the GraphicsKit to make use of the more advanced features in it, as opposed to using the MFC CDC, CBrush, and CPen drawing classes.
Platform Support
Windows platform support includes:
| Windows 95 | Windows 98/ME | Windows NT 4.0/2000/XP/2003 | Windows Vista |
| Maybe? Strong guess it will. Not supported for ongoing development | Should run, but there is no longer testing done on this platform | Yes. All NT systems supported. | Yes. |
This applies to all the current kits, including the FoundationKit, GraphicsKit, ApplicationKit, XMLKit, JavaScriptKit, RegExKit, InternetKit, HTMLKit, and NetworkKit.
Features >>
