I started this rant in another thread, where it was way OT, so I'm moving
it here.
As I said in another thread, to-native compilation and a Standard Ruby GUI
API that isn't Tk are the major limiting aspects of Ruby as used as major
application development environment. This isn't to say that you can't use
Ruby for these applications, but that there *are* issues that hinder
development in Ruby. I'm only going to address the GUI issue here.
Caveat: I'm not against the proliferation of GUI toolkits; I'm all for it.
The best tool for the job, and all that. But computing history has shown
that projects that have a standards vaccuum, especially in the GUI
department, suffer.
Here's the State of the Union as regards the GUI, as I see it:
1) If you write a GUI app in Ruby, you face a distribution problem. Which
toolkit do you choose? This is a problem, and one that doesn't need to be.
2) At the moment, Ruby users practically have to install a GUI toolkit for
each GUI application they want to use.
3) If an app is difficult to install, application developers will lose a
certain percentage of potential users.
4) This is the same issue as with the Standard XML Parser -- there has been
much discussion about including a standard XML parser with Ruby. This is
equally important to do with a GUI Toolkit if Ruby is to be become a
powerful GUI application platform.
5) This may be affected by the Abstracted GUI API, as has been discussed.
If the API is standard and the backend toolkits are pluggable, the problem
is solved. This holy grail of GUI APIs may be beyond what we want to
accomplish here.
6) Tk is inadequate, for reasons I won't go into here.
7) There are numerous powerful, cross-platform toolkits that could be
chosen: there's a Qt binding, an FLTK binding, and FXRuby, to name a few.
Each has strengths, and I'd really like to see a discussion that results in
a weighted table of advantages and disadvantages so one could be chosen
logically.
In summary, I think a strong comparison can be made between Ruby and X,
pre-KDE. There were numerous toolkits for X, but no standard, and for over
a decade Unix suffered from this. Windows and MacOS provided standard GUI
APIs, and they have prospered. With the proliferation of KDE/Qt on Linux,
Unix too is moving to the desktop. (Before this spins off into a Gnome vs.
KDE argument, remember that Gnome was a direct result of KDE and the Qt
license.) Ruby deserves to be more than a server programming platform, and
the only way this will happen is if a toolkit is chosen and included with
every Ruby distribution.
Thanks for listening.
--
--- SER