----- Original Message ----- From: "Nick" <devel / nicreations.com> To: "ruby-talk ML" <ruby-talk / ruby-lang.org> Sent: Sunday, November 28, 2004 11:31 PM Subject: Re: Ruby GUIs and installation effort >>> I recently went through the steps to get Tk working with Ruby under Mac >>> OS X. It was fairly complicated. After all that work I found that GUIs >>> I had created >>> under Windows didn't look very good on Mac OS X. I then decided to try >>> FOX. That required downloading the X11 software from Apple. I installed >>> that and >>> then found that I didn't automatically get the X11 library files that >>> are >>> needed in order to build FOX. Maybe I'll get this figured out >>> eventually. > > Did you try RubyCocoa (http://www.fobj.com/rubycocoa/w.en/) ? If OS X is > your desired platform, then really this is the toolkit you should be > using. OS X is just one of my desired platforms. I want to write the code using a single GUI toolkit and be able to run it under at least Windows, OS X and Linux. I'm undecided about whether using native widgets is important, but I'm leaning that way. >>> The bottom line is that even if you take the time to write a great GUI >>> app. >>> using Ruby, your audience of potential users will likely be quite small. >>> Installing Ruby is easy enough, but setting up a GUI toolkit is >>> prohibitively >>> complex for a non-developer. Compare this to Java. Install the Java >>> Runtime >>> Environment or use Java Web Start and Swing is available. > > This is assuming you want to install the ruby development environment on > the users machine so they can use your software. There are better ways to > do it. If you link the interpreter to your own "startup" binary, you can > wrap it in a bundle on Mac OS X, or have the start menu call it from > Windows. I've bundled apps on OS X and put the required libraries in the > Resources directory, and they start just like Mac OS X apps (and install > just as easily too). For Mac OS X, I'd say RubyCocoa is the best GUI > toolkit (It's available in Framework form for easy installation). For > Windows, you need to choose the toolkit that best matches your needs. For > Linux, the Ruby GTK bindings I think make the most sense. For > multi-platform apps, I think wxRuby works great on GTK, Windows, and OS X. > > In the end, it's not up to the user to have the libraries necessary to run > your app. You need to use the libraries that make the most sense for your > audience, and you need to install them in the best location. This requires > getting a little dirty with the installers, the ruby interpreter, and the > system at hand. But if the user can't install your app, then they probably > won't run it. I agree. It seems though that "getting a little dirty with the installers" could be done once for all of us rather that repeated for every Ruby GUI application that requires portability to Windows, OS X and Linux and desires to be used by non-developers. Having a one-click installer for each platform that installs everything needed for a portable GUI seems ideal.