RAD with Python

Christian Reis kiko at async.com.br
Sat Sep 20 14:38:14 EDT 2003


ubaidullahnubar at hotmail.com (Ubaidullah Nubar) wrote in message news:<17d520f6.0309130701.222d09fe at posting.google.com>...
> I will appreciate some more clarification regarding the GUI framework.
> From the wxPython web site, it looks very good but the two tools
> mentioned here
> for easing the development of GUI apps (mojoview and kiwi) are both
> based on GTK.

Well, I can speak of Kiwi at least, which I designed to help us write
large GUI applications in Python, here at Async Open Source.

Kiwi is different from most of the other frameworks you'll find in the
sense that it encourages you to move beyond the string manipulation
that's so common in GUI programming (read a string from an entry,
write a string to a label, etc etc). In Kiwi, you're expected to work
with objects holding data and low-level domain semantics (want to
display objects as a list? define the columns, and load the objects in
the list with one call; no more worrying about string/numeric/date
conversions).

Kiwi *really* cuts code length down; you could probably write a
phonebook application like you've asked initially in less than 40
lines, if using libglade.

The intention when writing Kiwi was to allow you to be truly object
oriented while coding; it's not a simple wrapper around a C/C++ API as
most of the other GUI libraries are (of course, Kiwi hijacks James'
PyGtK library to its own evil purpose)

> Are they fundamentally different or just a matter of style.
> 
> How easy to switch from one framework to another?

Kiwi is fundamentally different, though you can use as much as you
like (just the base view classes, the proxy, the widgets, etc).

I think you'll find that the more you use a framework, the harder it
is to switch (as with any library).

> Which framework supports internationalization better? Do they support
> Right-to-left layouts?

GTK+2 has this pretty much solved; pango is a very nice
implementation.

> Also, a comparison between Boa Constructor and Glade-2. I haven't seen
> either so am not sure if they are even comparable.

Glade, when associated with libglade, is a *great* way to write the
GUI. All Glade does is generate XML, which libglade reads at runtime
-- the rest is real code, version-controllable code that you can work
with in your preferred editor.

There's nothing that offers comparable reuse and long-term
productivity, IMHO, but others will differ.




More information about the Python-list mailing list