Re: OK, everyone...

Donnal Walter <[email protected]> Mon, 16 Feb 2004 18:45:37 -0800 (PST)
Newsgroups gmane.comp.python.anygui.devel
Message-ID <[email protected]>
Greg Ewing wrote:
> Perhaps those are the people who want an API
> that's small, simple and Pythonic, as opposed
> to big, complicated and warped 

My two cents may be irrelevant to the long terms goals of Anygui,
but since it seems that we are in a brainstorming mode here, I'll
toss them in anyway. My ultimate goal is to establish a framework
for the rapid development of custom, data-centric, GUI-based,
clinical applications. (The "clinical" part is optional, of course.
:-)

What I have in mind is an abstraction-presentation architecture
that consists of two separate layers: an abstraction layer for
modeling the data structures of the application, and a presentation
layer for defining the user interface. I have put most of my effort
so far on the abstraction layer, working out a notation (an API)
for defining data structures of (theoretically) limitless
complexity with both independent and dependent elements. The
abstraction layer is to include a built-in persistence mechanism.
Also built into this notation are methods for transparently
connecting components from the presentation layer to specific data
elements. In this way I plan to create a notation (API) similar in
nature to the abstraction layer for defining the presentation
layer.

My interest in Anygui is precisely what Greg Ewing stated above, an
API that is small, simple and (possibly) Pythonic. I say "possibly"
Pythonic because my abstraction layer uses a notation that is not
exactly traditional Python syntax.

<OT>
For example,
    __init__(self, ...) is replaced by
    Assemble(self, ...)

And
    self.myname = Someclass(parent=self) is replaced by
    self.Add('myname', Someclass)
</OT>

At present, I have a preliminary version of the presentation layer
syntax built as a set of thick wrappers around selected wxPython
classes, a strategy that seems to work pretty well. But I have also
considered using the same API for a set of wrappers around classes
from Venster/ctypes, for example, to create a leaner approach for
Windows, and other small GUI toolkits for other platforms. Probably
I should just stick with wxPython, but compared to what I need,
wxPython is such a mammoth. A small, clean approach is attractive.

Greg Ewing continued:
> My goals aren't quite the same as AnyGUI's, because ...
> ...
> However, there's a lot in common between the goals
> of our respective projects in terms of providing a
> simple, standardised, Pythonic API, which I still
> believe is sorely lacking in the Python world.

I agree wholeheartedly!

Donnal Walter
Arkansas Children's Hospital


-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click