Comparioson of purpose for PyGUI and AnyGUI ???

Carlos Ribeiro carribeiro at gmail.com
Sat Sep 18 09:13:53 EDT 2004


On Sat, 18 Sep 2004 12:26:29 +0000 (UTC), Magnus Lie Hetland
<mlh at furu.idi.ntnu.no> wrote:
> Anygui succeeded as a proof of concept, but the burden of sustained
> support and development for many toolkits did make it very impractical
> to keep things going. At the moment the project is effectively on ice.

It's a shame. I've looked at it a few days ago, and I was actually
wondering if the development had stopped -- the newest news on the
site are quite old, in fact.
 
> If Greg can make a reasonably full-featured system (which isn't too
> hard to install/compile and has a native look on the major platforms)
> I think that would be a major step toward a 'standard' GUI package for
> Python. If not, there are existing packages (e.g. wx) that work very
> well -- perhaps there really isn't a need for anything more standard
> than that?

I'm hedging my bets on a related (but different) approach. I'm writing
business apps, and the style of interaction that I'm using doesn't
require a high degree of customization. It's a subset of the full GUI
approach, using simple data-entry forms and very little "live"
features. I want to be able to provide both native and browser based
frontends. The two versions do not need to work exactly the same way;
for example, some features may only be available on the native
front-end, but the API must degrade nicely in the case of unsupported
features.

How is it going to work? My idea is to have some kind of form
description API, with hooks for validation and live data lookups. The
engine will take care of the rendering either any of the frontends.
I'm doing some experiments with wxPython and DHTML, and the results
are promising. In a way, it's AnyGUI revisited with a web twist :-)

The biggest problem with this kind of approach is not handling the
visual differences between different toolkits. There are workable
solutions for automatic layout, or to port common widgets between the
wxWidgets and the browser-based versions. The biggest issue is how to
handle architectural differences between a browser based app -- where
there is a clear separation betwen the server and client code -- and
the wxWidgets version, where no such separation is assumed. My
intention is to make the wxWidgets version mimic the browser-one in
this respect. For simple apps this is not as big an issue as one might
think, but for more complex ones, it may have a cost in terms of
flexibility and interactivity.

For now, I'm still experimenting. But it's being interesting to
explore both the similarities and the differences between the two
models, and what types of tricks can be used to bring the two
together.

-- 
Carlos Ribeiro
Consultoria em Projetos
blog: http://rascunhosrotos.blogspot.com
blog: http://pythonnotes.blogspot.com
mail: carribeiro at gmail.com
mail: carribeiro at yahoo.com



More information about the Python-list mailing list