--- Mathieu Bouchard <matju / sympatico.ca> wrote:
> care to give any explanation of what makes the Tk api
> "perl-like" and what makes the Gtk api "very clean and 
> modern" ?

I'll try. First, the "perl" reference comes from the fact
that the Ruby/Tk api is close enough to the Perl/Tk api
that I was able to use a perl book as a guide. I am *not*
very familiar with perl.

The use of hashes as parameters is, to me, perl-like. It's
been several months since I've used Tk, so I've fogotten
many details. I didn't like the mechanism for handling
messages/events. I found the packer to be powerful, but
confusing. In general, I struggled to get my work done
because my mind doesn't work the way the api designers'
minds work.

The Ruby/GTK api is almost identical to the C GTK api. It
is very similar to the theoretical GUI described in the GoF
patterns book. Most constructors and other methods require
few parameters. 

The nesting of boxes and scrollers (it's been a while since
I've used GTK, too, so I may be using the wrong terms) is
very simple and powerful. Message/event handling is very
clean. 

On the downside, GTK is WAAAY too complicated. I would like
to see the api cut in half, or more. Its use of themes is
fine if you're writing a simple business app, but is
terrible if you need custom colors or fonts.

For me, the old-fashioned look of a Tk app was probably a
bigger factor in my switching to GTK than the api. But
after I ported my two apps from Tk to GTK I enjoyed working
with them more. In general, it was much easier for me to
get results with GTK than Tk.

After porting one to FLTK, I'm even happier. Except that
the FLTK bindings aren't complete yet, and aren't
pre-packaged for Windows yet.

I like FOX, except I wish the method signatures were
simpler, that you didn't have to set up const message ids,
and that you didn't have to always create an app object.

It is a very personal choice. In my mind, Tk is the
default--if you can live with the look and api, use it. If
you focus on non-Windows then GTK is a great choice (and
2.0 may solve the Windows issue). FOX would probably be my
first choice for a good-looking cross platform app today.
And FLTK has a lot of promise as a very simple, fast
toolkit.

Kevin


__________________________________________________
Do You Yahoo!?
Make a great connection at Yahoo! Personals.
http://personals.yahoo.com