[GUI] Re: Know you backends (was: Re: Portable GUI levels)

Axel Simon A.Simon@ukc.ac.uk
Mon, 27 Jan 2003 11:06:46 +0000


On Mon, Jan 27, 2003 at 04:00:11AM -0700, seth@cql.com wrote:
> I'd like to point out that it is quite possible to develop an interface at the
> desired level (I agree that the gtk level is too low for many purposes) without
> sacrificing functionality.
> 
> The way to achieve this magic is this:  Design your API at the optimal level
> which, as Daan and others have stated, implies reduced functionality (compared
> to wrapping the entire native API, for example).
> 
> Having defined this interface, it is quite possible to add lower level hooks. 
> Care is necessary to see that these hooks are interoperable with the higher
> level API (this is nontrivial but quite possible).  For most projects the
> "standard" API would be adequate, and a program written with only the standard
> API is portable.  For those cases where the reduced functionality of the
> standard interface is not acceptable, lowever level capabilities can be used. 
> This implies that either (1) portability is lost or (2) the developer must
> implement the lower level functionality for all target platforms.
> 
> This paradigm is also good for the toolkit developers.  They must conform to
> the standard interface, but they aren't prohibited from providing functionality
> beyond the standard interface.
Yes, exactly. I couldn't have summarized it better!

The question we are pondering on now is whether to have an evolutionary 
approach (probably on Ports) or an incremental, constructive approach.

Axel.