From: Christian Boos Date: 2002-01-23T01:59:52+09:00 Subject: RE: RANT: Ruby GUI API Hi, > -----Original Message----- > From: Sean Russell [mailto:ser@germane-software.com] > Sent: Tuesday, January 22, 2002 5:32 PM > To: ruby-talk ML; undisclosed-recipients: ; > Subject: Re: RANT: Ruby GUI API > ... > I'm more and more thinking that it would be Useful to have the Qt binding > author, the FXRuby author, the FLTK author, and whoever else is > working on > a GUI toolkit for Ruby to talk about converging to a common API. Sorry, that's not realistic. I don't know anything about FXRuby and FLTK, but at least about Qt and Tk, and they have _nothing_ in common. Of course, you can always "add another level of indirection" to get something in common. But in the case of GUI, the API is usually so huge that there would be 1) no practical way to do it, 2) no real benefits ... Unless we talk about something different. If we think it is worthwhile to abandon to idea of having the flexibility found in any of those toolkits, and concentrate on some "minimal common denominator", then, OK, it would be possible. One idea that comes to mind would be to use the API of JTTui (*): if it is possible to do what this API does using curses, I guess it is possible to emulate it with any of the existing toolkits! > If those > authors can all agree on common components of an API, and then > write their > bindings to that API, then the backend becomes swappable, and people can > use whatever they choose. > That API would be enough for some simple tasks. > The problem, of course, is that this is great in theory, but difficult in > practice. What happens when the Qt author wants an API element for his > HTMLWidget, which the FLTK toolkit doesn't support? > The author of the Qt binding just wanted .. the Qt binding: access to all the functionality you could have when writing C++ code. The goal has been achieved to an extensive degree, though not 100%. > Still, it is an interesting idea. > > -- > --- SER > > Indeed! -- Christian (*) see http://klokan.sh.cvut.cz/~jtra/