
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.