From: "M. Edward (Ed) Borasky" Date: 2006-09-26T23:02:54+09:00 Subject: Re: GUI programming for WinXP/Linux/OSX? Roman Hausner wrote: > mmmkay ... :) > > Thank you all for your valuable answers! As far as I can see > everyone has their own preference here. > > This is probably partly due to prior experience with a > framework or the fact that a certain framework was chosen. > > As of now, the following choices seem to be available: > > = Tk: comes with Ruby, so should be easy to deploy. > = Qt > = GTK > = JRuby plus some Java GUI, preferably SWT > = It seems there is also FXRuby (http://www.fxruby.org/) > (non-native widgetset). > > Does anyone know of some objective comparisons of these > approaches? Especially with regard to learning curve, > stability, integration with Ruby, interactive GUI design, > and ease of deployment? > As I said, I am new to GUI programming, so this all looks > a bit intimidating at the moment. > > I probably will dig a bit into JRuby -- I guess this will > make availbale a lot of Java library functions to a Ruby-like > language -- and I guess, also take away all non-Ruby-only > packages and extensions from the Ruby side. > But having the existing set of Java libraries available > together with Ruby as a programming and scripting language > does sound very inviting indeed. I'm at a similar decision point. I don't have a Mac and don't plan to test on one, but I don't want to rule out Macs from using my application. My personal opinions: 1. Tk is ugly, but it's a "de facto standard" and does come built-in. 2. QT is the best looking, but the Ruby-QT4 bindings are still a tad unstable on my development platform (Gentoo Linux testing) and QT3 isn't open source on Windows. 3. GTK is ugly -- IMHO uglier than Tk. Maybe I just haven't figured out how to make the fonts do what I want yet, but I can't stand the look of most GTK apps. 4. JRuby -- I don't know much about it. 5. FXRuby -- right now this is the front-runner. If I can get drag and drop to work from the examples that come with it, I'll probably settle on this one. The app I'm building will have a Dia/Visio/XFig/Inkscape-like "drag and drop shapes onto a canvas" GUI, but not a full diagramming package. I've actually considered using one of the open-source diagramming packages as a front end but I haven't found one that's Ruby-scriptable -- Python and Guile/Scheme appear to be the scripting languages of choice for such codes. :( If I go this way I'll have to have the diagramming package export XML or SVG and have the Ruby program execute it. Hmmm ... has anyone built a "GUI" using ruby-rsvg?