[GUI] Re: Know you backends
Wolfgang Thaller
wolfgang.thaller@gmx.net
Thu, 30 Jan 2003 17:11:16 +0100
> This actually brings me to another issue I have been wondering about.
> Why don't we use the GTK library as our portable GUI library directly?
> I may have missed some discussions about this, but if it is a really
> portable
> library, we can use the fruits of their labor. (Of course, it does
> need to
> give a native look and fool, I wonder whether GTK does that?)
GTK currently does not give native look on Mac OS. I'm convinced that
it will never provide native feel.
The reason is that as a complete and therefore complex GUI toolkit, it
makes too many assumptions about how the UI should behave.
I'm not saying that GTK is bad, I'm just saying that it is not capable
of providing native look and feel on all platforms. I know of no
full-featured library that really achieves this goal.
However, Port is not as "full-featured" as GTK, nor will it be in the
forseeable future. A simple library like Port can probably achieve
enough abstraction to bridge the differences. It will (hopefully) be
possible to write programs with simple user interfaces that look and
work well on all platforms.
We shouldn't try to write a perfect full-featured cross-platform
library. Haskell is a cool language, but if nobody has achieved that
with any language (IMHO), why should we?
There is definitely room for a good GTK binding and for a good
high-level library based on that. But it can never be a "standard GUI
library for Haskell" because it just doesn't work _well_ on all
platforms (in order to say that a toolkit works well on MacOS, I
mustn't easily recognize an application as "written using toolkit XY"
when I use the Mac version of the application).
On the other hand, a "standard cross-platform GUI library for Haskell"
will never provide everything you would find in a platform-specific or
not-quite-native-looking GUI library. People will choose what they need
for their current task.
Cheers,
Wolfgang