>From: "Edward Diener" <[EMAIL PROTECTED]> > Add to this the fact that nearly every C++ programmer already works with a > framework library depending on his implementation of choice. On Windows > alone I know of WTL, ATL, MFC, OWL, VCL, wxWindows, QT, and no doubt others > about which I have no knowledde, each tied very closely to a particular C++ > compiler, IDE, and implementation.
I just wanted to point out that several of these, Qt and wxWindows, are cross-platform, so they are not tied to any specific compiler or platform. wxWindows is also Open Source, and I've good experience with the little I've used it. It's very easy to get up and running with it (at least it was on Windows). wxWindows is a wrapper for the native GUI API, while Qt emulates each GUI, using only the low-level graphics API. wxWindows could have been a candidate for Boost, had it not used "stone age" C++ - no templates, exceptions and namespaces (essentially "C with Classes" stage), to cater for a very broad range of compilers, even compilers such as MSVC 4 (!). There are plans to change this, though (http://www.wxwindows.org/roadmap.htm). To quote: --- Start --- Release 2.6.0 (stable) Release date: end of September 2003 Release 3.0.0 (stable) This release should finally mark the end of support for the antiquated compilers without decent support of the modern C++ features such as templates, exceptions and namespaces. wxWindows containers should be replaced with the corresponding standard library classes and std::basic_string<> should be used instead of wxString. --- End --- wxWindows also has 10 years of experience behind it, and an active developer community. Regarding what Dave Abrahams said in another posting about lack of templates (regarding FLTK) meaning that smart pointers can't be used - well, in this case, there are no exceptions, either, so you avoid problems with leaks from exceptions. :) Another note: The library is not a "lowest common denominator" library when it comes to features. There's a core set of components, such as controls, that are portable, but it also allows controls only available on one platform. Thus, it's up to the user how portable, or platform-specific, they want the application to be. Hopefully, this may give some ideas in the debate. Currently, Windows, Mac and Linux is supported, and an emulated version, wxUniversal (like Qt is doing it) is also worked on, e.g. for embedded use (http://www.wxwindows.org/wxuniv.htm). As to the discussion of encoding the layout in code, or using some sort of resource files, I think resource files may be preferrable for a few reasons: - You don't have to recompile the program for every GUI change, when designing the GUI - It's usually easier to make GUI designing programs for resource files, than ones generating source code. Besides, would you like "wizard-code" in your program, a la MFCs or Javas? - The layout and content may be changed at run-time, for example for localisation or customisation. No need for recompiling a client's code; just replace the resource files. Often, someone else but the programmer, a designer, makes the GUI design, and they should not have to be programmers. The same goes for web GUIs - a typical way of doing it is having a designer create the HTML, which is then used as some sort of template in the system, filling it in and transforming it, e.g. using PHP. Regards, Terje _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost