Chuck R. wrote:
add buttons (using images)
i did see limelight, and i dont know java. which some java is required
to use limelight effectively, unless i am mistaken?
monkeybars i dont know about i will check with that and see if i can get
some info on that, and get back here
Limelight is pure ruby so you don’t need to learn any java.
Monkeybars is a DSL for Java Swing,
Um, not quite. It’s a robust MVC library that makes it much easier to
separate GUI code from app logic and data manipulation. (In fact, were
someone motivated, the Swing part could be swapped out for SWT and most
of the code would stay the same.)
so while you don’t need to write any
Java code it is very useful to know how to read it. To effectively use
Monkeybars requires some knowledge of the Java Swing API.
Sometimes. If you use the free NetBeans GUI editor you can use a
WYSIWYG tool to draw and compile the UI, and use (J)Ruby to drive it.
Or use Neurogami::SwingSet.
Knowing some Swing certainly helps; Monkeybars is not really meant to
hide Swing, but that’s part of its strength. Anything you can do in
Swing you can do in Monkeybars. Sometimes it’s easy (e.g. setting up
buttons and text fields) sometimes not ( various table controls, for
example, that are freakishly complex in that special Java way).
I started Neurogami::SwingSet to wrap common Swing items to reduce (and
ideally eliminate) the need for Swing knowledge, so you can get a fair
amount done using a plain text editor and no concern for Swing innards.
In actual practice, though, while I mostly use SwingSet for basic forms
(Help, About, or anything that is a simple grid of basic components) I
find that sophisticated layouts and screens works best when done using
a GUI editor and occasionally some manual Swing-based code to make
things Just So.
When picking a GUI toolkit there is often trade-off between what the
code does for you and what the code allows you.
I’m pretty sure all of the more robust GUI toolkits expect you to know
the APIs for the numerous widgets, so Monkeybars is no different in that
way.
For example, Shoes and Limelight make certain things stupid easy, but
you have a small set of pre-defined widgets to use. If those are all
you are going to need (and the toolkits meet your packaging and
distribution requirements), then you win.
If you go for Ruby bindings for GTK or Wx (or any of the robust JRuby
Swing frameworks) you get far more options, but an increase in
complexity and a need to learn some widget APIs. The win comes from the
greater sophistication possible in your applications.
The bottom line is that anyone looking for a Ruby GUI toolkit should not
be put off by the idea of maybe having to learn and use something not
strictly Ruby. That’s shortsighted.
The key is to know if and when your choice is going to box you in
because you can only do what the toolkit author has decided for you.
–
James B.
www.jamesbritt.com - Playing with Better Toys
www.ruby-doc.org - Ruby Help & Documentation
www.rubystuff.com - The Ruby Store for Ruby Stuff
www.neurogami.com - Smart application development