1. Programming language independent?
No. Firstly, wxWidgets alone is a large C++ class library. However, wxWidgets does have a declarative XML file format called XRC. XRC files essentially allow you to define all the widget layout and properties outside of C++. This is a very good thing because that is one of the most tedious things about using a traditional GUI toolkit. Unfortunately you still have to write C++ code to create your application. For example, event handlers are not specified in the XRC file - it is the C++ code which wires up event handlers. XRC files are intended to complement the C++ coding, not replace it.
2. Native rendering?
Yes. This is one of the well-known benefits of wxWidgets. From their home page:
Unlike other cross-platform toolkits, wxWidgets gives its applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI.Currently wxWidgets can compile against GTK, Win32, OSX/Carbon as well as some other more obscure platforms. The upcoming wxWidgets 3.0 will have better OSX support via the Cocoa API. Notably missing is Qt.
It dawns on me that "native rendering" can be somewhat of a continuum rather than black-and-white distinction. For example, I think that some widgets which are available on one platform, must be emulated on another. Although I'm sure the essential widgets like buttons, checkboxes, and select lists would be 100% native which is all that I'm after.
3. Rapid Development?
Yes. With tools such as wxFormBuilder to generate the C++ or XRC code for you, development can indeed be very fast. However, without such tools it would be rather tedious. This has been my experience with nearly every GUI toolkit that I have used.
I had hoped that XRC might be closer to HTML in simplicity but it seems to have a lexicon perhaps too large to hold in ones head. The XRC documentation says of itself:
"It is highly recommended that you use a resource editing tool, since it's fiddly writing XRC files by hand."Summary
wxWidgets does not meet goals of stdgui, but perhaps it can help. I could use wxWidgets to implement the backend. If this went well I could then add a wxWidgets port for Qt which would be beneficial for both stdgui and wxWidgets.
No comments:
Post a Comment