Hello Daniel!

Em Qua, 29 Out 2003, Daniel Carrera escreveu:
| > If we could imagine an "agnostic" Glade that outputs XML in the XUL 
| > format, and make it work with any toolkit Ruby support... that sounds 
| > as a good idea.
| 
| Indeed.
| 
| So I guess that for each toolkit we'd need a library that can interpret 
| read XUL and produce the GUI.

Exactly. Something like (sorry about the metaphor) DBI/DBDs. Could we
call that Ruby/TIS (Toolkit Independent System) and Ruby/TID (Toolkit
Independent Driver). We could have TIDs for, virtually, any toolkit,
including the ones that are not written yet.

| There can be an environment variable which specifies which toolkit the 
| user wants.

Or a class-variable settable via command-line options.

We could have, also, default toolkits, and a fallback order. Something
like "Try with $TOOLKIT. If it's not there, try with FOX. If it's not
there, try with Gtk. If it's not there, try Qt....."

| I had never thought of designing toolkit-agnostic GUIs.  That's a very 
| neat idea.

Yes... it's neat. It's also difficult to implement. Toolkits have a lot of
widgets in common... And we'd have no problem with them. The real ugly
thing is to deal with widgets that are just supported by one or two of
the toolkits... There're two possible solutions for that:

(1) Deal only with common widgets
(2) Build the missing widgets in the particular TID

The advantage of thinking about these two options is that we can choose
(1), for easyness and for a quick bootstrap, and then, gradually, change
it to (2).

Anyway... the most important thing that comes before all that is the
specification of the TIS. We have only a handful of widgets we really
use (and most of them are already described in XUL's specification).
With that in hands, we can leave for the TIDs the task of rendering what
the TIS is asking for.

Well.. now comes the problems of a Ruby/TIS/TID's project: manpower. We
have to gather a good group of Toolkit's wizards with deep knowledge of
one particular toolkit, and another good group with (not necessarily as
deep) knowledge to understand the requirements  each toolkit have
regarding each widget the TIS is going to support. The first ones have
to work in the TIDs, the last ones have to write the specification for
the TIS (AKA "our XUL").

I don't think there are many guys willing to work in such a project.
Maybe I am wrong... let's see...

[]s

Pablo

-- 
Pablo Lorenzzoni (Spectra) <spectra / debian.org>
GnuPG: 0x268A084D at pgp.mit.edu/keyring.debian.org
This message is protected by DoubleROT13 encryption
Attempting to decode it violates the DMCA/WIPO acts