offtopic: std C++ / STL / boost-friendly UI framework?
Hi, This is a bit of an offtopic question, but I wonder if there are any / if there will be any standard C++ / STL / boost friendly UI frameworks? When I look at UI libraries, like Qt or MS MFC, they all have their own constructs to generic concepts that are well (and better) covered in standard C++ / STL / boost. Like they have QArray, CArray, QFile, etc. etc. This is bad for a number of reasons. For one, one has to write a lot of adaptation code, like taking values from an STL iterator and filling a QArray with it, or the other way around. The second, much worse is that sloppy developers tend to stick with the UI-library specific constructs, and thus dig themselves into non-portable (in the case of MFC), or library- and license-specific (Qt which in GPL) code. And they are usually quite resistant to reasoning on using more generic and portable code for the same purpose. Thus I wonder - does anyone foresee a portable UI library which would be based on standard C++ / STL / boost? By this I mean that the generic constructs would be taken from here, and the UI library would really only contain things specific to UIs? Akos
On Thu, Sep 18, 2008 at 3:19 PM, Ákos Maróy
Hi,
This is a bit of an offtopic question, but I wonder if there are any / if there will be any standard C++ / STL / boost friendly UI frameworks?
When I look at UI libraries, like Qt or MS MFC, they all have their own constructs to generic concepts that are well (and better) covered in standard C++ / STL / boost. Like they have QArray, CArray, QFile, etc. etc.
This is bad for a number of reasons. For one, one has to write a lot of adaptation code, like taking values from an STL iterator and filling a QArray with it, or the other way around. The second, much worse is that sloppy developers tend to stick with the UI-library specific constructs, and thus dig themselves into non-portable (in the case of MFC), or library- and license-specific (Qt which in GPL) code. And they are usually quite resistant to reasoning on using more generic and portable code for the same purpose.
Thus I wonder - does anyone foresee a portable UI library which would be based on standard C++ / STL / boost? By this I mean that the generic constructs would be taken from here, and the UI library would really only contain things specific to UIs?
Akos
I'd be really interested in learning about this too! It's annoying trying to wean fellow developers off MFC's CString, CIntArray and the like and writing the conversion code. Pete
Peter Barker wrote:
On Thu, Sep 18, 2008 at 3:19 PM, Ákos Maróy
wrote: Hi,
This is a bit of an offtopic question, but I wonder if there are any / if there will be any standard C++ / STL / boost friendly UI frameworks?
When I look at UI libraries, like Qt or MS MFC, they all have their own constructs to generic concepts that are well (and better) covered in standard C++ / STL / boost. Like they have QArray, CArray, QFile, etc. etc.
This is bad for a number of reasons. For one, one has to write a lot of adaptation code, like taking values from an STL iterator and filling a QArray with it, or the other way around. The second, much worse is that sloppy developers tend to stick with the UI-library specific constructs, and thus dig themselves into non-portable (in the case of MFC), or library- and license-specific (Qt which in GPL) code. And they are usually quite resistant to reasoning on using more generic and portable code for the same purpose.
Thus I wonder - does anyone foresee a portable UI library which would be based on standard C++ / STL / boost? By this I mean that the generic constructs would be taken from here, and the UI library would really only contain things specific to UIs?
Akos
I'd be really interested in learning about this too! It's annoying trying to wean fellow developers off MFC's CString, CIntArray and the like and writing the conversion code.
Pete
I haven't looked too closely, but Smartwin++ (http://smartwin.sourceforge.net/) might fit the bill for Windows.
I do not know of any at the moment but it would be nice. However wxWidgets version 3 may be. They are considering incorporating stl / boost among other things. I suspect that this may take a while however. http://wiki.wxwidgets.org/Development:_wxTNG Peter McGill IT Systems Analyst Gra Ham Energy Limited
-----Original Message----- From: boost-users-bounces@lists.boost.org [mailto:boost-users-bounces@lists.boost.org] On Behalf Of Akos Maroy Sent: September 18, 2008 10:20 AM To: boost-users@lists.boost.org Subject: [Boost-users] offtopic: std C++ / STL / boost-friendly UI framework?
Hi,
This is a bit of an offtopic question, but I wonder if there are any / if there will be any standard C++ / STL / boost friendly UI frameworks?
When I look at UI libraries, like Qt or MS MFC, they all have their own constructs to generic concepts that are well (and better) covered in standard C++ / STL / boost. Like they have QArray, CArray, QFile, etc. etc.
This is bad for a number of reasons. For one, one has to write a lot of adaptation code, like taking values from an STL iterator and filling a QArray with it, or the other way around. The second, much worse is that sloppy developers tend to stick with the UI-library specific constructs, and thus dig themselves into non-portable (in the case of MFC), or library- and license-specific (Qt which in GPL) code. And they are usually quite resistant to reasoning on using more generic and portable code for the same purpose.
Thus I wonder - does anyone foresee a portable UI library which would be based on standard C++ / STL / boost? By this I mean that the generic constructs would be taken from here, and the UI library would really only contain things specific to UIs?
Akos
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
在 2008-09-18四的 16:19 +0200,Ákos Maróy写道:
Hi,
This is a bit of an offtopic question, but I wonder if there are any / if there will be any standard C++ / STL / boost friendly UI frameworks?
Gtkmm, the official C++ binding of GTK+[1], meets the requirement IMO. Though being a binding of GTK+ in nature, smart pointer Glib::RefPtr<> is restricted to its glib counterpart, the binding API was designed with standard C++ in mind, and uses standard containers, hence STL components can be used seemlessly, as well as boost utilities. It's one of the most standard C++ compliant GUI APIs at the moment. [1] http://www.gtkmm.org/ -- Regards, Deng Xiyue, a.k.a. manphiz
Deng Xiyue wrote:
在 2008-09-18四的 16:19 +0200,Ákos Maróy写道:
Hi,
This is a bit of an offtopic question, but I wonder if there are any / if there will be any standard C++ / STL / boost friendly UI frameworks?
Gtkmm, the official C++ binding of GTK+[1], meets the requirement IMO. Though being a binding of GTK+ in nature, smart pointer Glib::RefPtr<> is restricted to its glib counterpart, the binding API was designed with standard C++ in mind, and uses standard containers, hence STL components can be used seemlessly, as well as boost utilities. It's one of the most standard C++ compliant GUI APIs at the moment.
I've used gtkmm a few years ago, and I didn't really have a good time doing so. for one, there's no native MacOS X port (only for X Windows on MacOS X, but 99% of Mac users don't run X). also, as it's a wrapper on top an OO-like C library gtk+, subclassing doesn't work as one would expect in C++. the main reason is that in the C code, the class type is stored locally, and subclasses will have the same gtk+ (C) 'class' type as their parent, actually, which provides quite a bit of confusion... Akos
On Thu, Sep 18, 2008 at 11:19 AM, Ákos Maróy
Hi,
This is a bit of an offtopic question, but I wonder if there are any / if there will be any standard C++ / STL / boost friendly UI frameworks?
I'm developing cppgui. It has some widgets, and only works for win32 for now. http://www.assembla.com/wiki/show/cppgui It doesn't have any documentation, but it does have some examples. I find the interface *very easy* to use, but it is still quite incomplete. I have a few code for gtk+ but it is not working right now, I will do a rewrite of the gtk+ support for the lib in the near future. [snip]
Akos
-- Felipe Magno de Almeida
Ákos Maróy wrote:
Hi,
This is a bit of an offtopic question, but I wonder if there are any / if there will be any standard C++ / STL / boost friendly UI frameworks?
When I look at UI libraries, like Qt or MS MFC, they all have their own constructs to generic concepts that are well (and better) covered in standard C++ / STL / boost. Like they have QArray, CArray, QFile, etc. etc.
Thus I wonder - does anyone foresee a portable UI library which would be based on standard C++ / STL / boost? By this I mean that the generic constructs would be taken from here, and the UI library would really only contain things specific to UIs?
Akos
I use Qt and I have defined wrapper classes around many of the Qt classes that convert Qt signals to boost signals, Qt strings and containers to/from std strings and containers etc. This setup is not perfect, but works quite well. --Johan Råde
On Thu, Sep 18, 2008 at 7:19 AM, Ákos Maróy
Hi,
This is a bit of an offtopic question, but I wonder if there are any / if there will be any standard C++ / STL / boost friendly UI frameworks?
When I look at UI libraries, like Qt or MS MFC, they all have their own constructs to generic concepts that are well (and better) covered in standard C++ / STL / boost. Like they have QArray, CArray, QFile, etc. etc.
This is bad for a number of reasons. For one, one has to write a lot of adaptation code, like taking values from an STL iterator and filling a QArray with it, or the other way around. The second, much worse is that sloppy developers tend to stick with the UI-library specific constructs, and thus dig themselves into non-portable (in the case of MFC), or library- and license-specific (Qt which in GPL) code. And they are usually quite resistant to reasoning on using more generic and portable code for the same purpose.
Thus I wonder - does anyone foresee a portable UI library which would be based on standard C++ / STL / boost? By this I mean that the generic constructs would be taken from here, and the UI library would really only contain things specific to UIs?
The Adobe Source Library, a work in progress, builds on top of boost, and includes a UI anti-framework. More information can be found at http://stlab.adobe.com/group__asl__overview.html . - Mat
participants (8)
-
Andrew Holden
-
Deng Xiyue
-
Felipe Magno de Almeida
-
Johan Råde
-
Mat Marcus
-
Peter Barker
-
Peter McGill
-
Ákos Maróy