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