[Python-3000] GUI -- an API, not a toolkit

Talin talin at acm.org
Wed May 10 03:20:33 CEST 2006


Giovanni Bajo <rasky <at> develer.com> writes:

> I don't agree with much of what you propose basically because I think it's
> hopeless to create a wrapper API above all the toolkits. There are far too 
many
> "details" which are different (just thinking of events, application event
> loops, signals/slots, HW accelerated painting primitives, multithreading
> dispatching). I dare anyone to develop such an API so that it's
> production-ready (which is *not* a Yes/No dialog) within the Py3k time
> constraint. I reckon that this is pratically unfeasable (and, say what, 
totally
> useless).

Java did it, so it can't be all *that* hard :)

The main challenge is choosing the right level of abstraction.
You don't want to be creating code that does different things
on different platforms; You want to let the platform handle those
details for you. OK, so menus behave differently on Win32 vs.
OS X. So what? You shouldn't be handling individual mouse clicks
at that level anyway.

Similarly, it would be nightmarishly difficult to try and
re-create the color chooser dialog on OS X, so why bother? Just
use the one provided by the OS. (Unless you are using .Net,
in which case you probably *want* to replace the color dialog :)

-- Talin




More information about the Python-3000 mailing list