There is *no* pure-technical mechanism (framework/API) that can cover the differences between platformsThat's exactly what I said. But it is easy to imagine one*.
(Of course, there are frameworks that are platform neutral (wxWindows, Qt, GTK, Tk) although I have hardly used them, and clearly one of those has not predominated as an obvious panacea yet. I suspect a non-API "UI description", perhaps OO, may fit the bill eventually.)
*Because, as I mentioned, the UI - as seen by users - is by definition not concerned with platform quirks. Nor is program logic in general. And the ideal is not to waste people like raph's time with the dead-end coding of platform specific drudgework.
TAINTACPUI - There Ain't No Such Thing As Cross-Platform UI.That's exactly what I said. But it's easy to imagine one.
I hereby bow out of the discussion, I'm tired of being misread. [If you want to get closer to my meaning, forget about "APIs" (which are extremely boring) and think about "descriptions". The description is semantically platform neutral - again, by definition (sigh) - as is, for instance, the description of an algorithm. A platform-indifferent description of a UI is as equally possible as, for instance, platform-independent code, which we all write daily.]
(update 2) salmoni, thanks for providing an example I was casting about for - HTML is a description, not an API... Smug naysayers take note.