ubuildinit 0.2.0 review
Downloadubuildinit is a utility for use with micro window-gadgets (UWG) that generates C source and header files from XML descriptions of vis
|
|
ubuildinit is a utility for use with micro window-gadgets (UWG) that generates C source and header files from XML descriptions of visual interfaces.
Interfaces are described using XHPD, an XML-based hierarchical program description.
Micro WG is a C `version' of WG. In general, UWG is somewhat more light-weight than WG. Firstly because it's written in C and not C++. Secondly because it does not yet provide all the features of WG. Also, it should be significantly easier to `connect' UWG to KRoC.
Why UWG ? It's now the case that there are many `widget libraries' for programmers to choose from. The traditional X11 widget libraries (X Toolkit Intrinsics), GTK, QT, Motif, wxWindows, TK, etc.. GTK and QT are probably the most common for an average user's desktop system -- as the graphics libraries of Gnome and KDE respectively. C++, used by WG, provides a largely type-safe environment for gadget programming -- i.e. the structure/nature of gadgets fit neatly into the C++ type (class) heirarchy.
However, C++ ultimately suffers from the same problems as some other `object-orientated' languages -- namely leaky encapsulation. When writing WG, some of the limitations (maybe features) of C++ caused significant problems, particularly in the function-pointer department.
Object-orientation is a fine model for data, but it does not work well when `bolted-on' to sequential languages -- C++ and Java in particular. Forcing a sequential flow-of-control through something that we tried to break into objects only leads to problems. E.g. when executing inside the method of one object, is it safe to delete another object ? -- well, only if that other object wasn't involved (and still is involved) in the flow-of-control.
And this you cannot easily tell. Furthermore, in many cases, `delete' may be substituted for any object interaction (method-call).
Also, a lot of modern GUI toolkits seem unnecessarily bloated. C++ (and other `frilly' languages) can be blamed for some of this, but not all of it. WG isn't bloated yet, but it's not far off. UWG is therefore an attempt at a lightweight (size and speed) gadget toolkit for X11, programmed in C.
Requirements:
Micro Window-Gadgets
What's New in This Release:
The XHPD parser code was cleaned up.
Support for generating structure types was added.
ubuildinit 0.2.0 keywords