The Ruby GUI debacle

A

Arndt Roger Schneider

Ruby said:
Team,

I truly hate to bring this subject back to the forum, as it is like
killing a dead horse! But I can't help it, as my frustration keeps on
growing!

I am a Ruby, kind of, newbie. I've been in and out of Ruby many times
for a few years now.
I am sure that I and other people (I think) could be using Ruby more
often if there were a "simple" GUI development environment. I put
simple in quote because I understand that it is a very subjective
word.
In the past I experimented with several GUI toolkits, which I know are
excellent GUI toolkit bindings for ruby, including: Qt, Gtk, Wx, Fox
and Tk. I also played or tried playing with Monkeybars with Netbeans
and JRuby; and Shoes. Against my free will I was willing to give it a
try to IronRuby and Ruby on Steel.

As you can read I have been looking for a "simple" GUI environment
where I don't have to "draw" the widgets. I would like to get a GUI
programming environment where I can drag&drop widgets (diaglog box,
drop-down list, Etc., Etc.) on a pane and then just worry about the
programming part to handle or react to the events generated by the
widgets! I hate to say, but something like VB.

I actually thought that Monkeybars was the answer to my prayers, but I
guess I did not prayed loud enough or perhaps I need to offer
sacrifices to the GUI Toolkits gods. The point is that Monkeybars was
so involved that I went through the tutorial once or twice and then
gave up.
The WX people are nice enough to offer help. But I don't want to
impose on anyone. To compound my problem I find most tutorials
outdated and many times not explicit enough for beginners.

I also, naively, thought that since IronRuby was from MS, perhaps they
would have a nice drag&drop GUI design IDE.

If anyone knows an IDE where I can use drag&drop to create GUI appls
in Ruby/Jruby/IronRuby/AnyRuby, please let me know. I am willing to
purchase a commercial package, if available.

Thank you for reaching this part of my note, unless you jumped around,
which is OK also!
Take a look at my tool:
http://jeszra.sourceforge.net/jeszra/

Jeszra generates tcl/tk templates and exports wrapper classes for
Ruby, python and lisp (other languages will follow).

This way all of Tk's –and 3rd ventor packages– are available in Ruby, too.
My goal for this year is to bypass tcl/tk completely and to generate SVG 1.2
applications instead.

It is however not an IDE and won't ever, ever become an IDE!

-roger
 
P

paron

Well, if you're comfortable with HTML, JS, and CSS, you can make
desktop or mobile apps in Ruby using http://www.appcelerator.com/,
which is kind of OT (no d-n-d IDE), but if it helps, great. I keep
meaning to use it, but web apps are more my line.
 
R

Ruby Student

Hi Florian,

What I mean by the "power of Swing" is the fact that SWING is part of
Java and Java appears to be everywhere, on all platforms, including OS
X.
That been said, please do keep in mind that I am in a facts-finding
mission for a cross-platform GUI and which I find "easy". Again,
"easy" is also a subject word, as you know.
If I used the wrong wording when I spoke of SWING, then I apologize. I
will attribute this poor selection of words to my naive way of seeing
things!

Thank you

What exactly is the "power of Swing"? The deal-breaker for me always was =
that there seems to be no possibility to create native-feel applications on=
OS X because I have yet to find a possibility to create menus in the menub=
ar instead of the window. Swing does not know this concept and doesn't care=
When it comes to UI, this can hardly be called "cross-platform", just bec=
ause it "runs" on the target platform. Also, the windows somehow don't feel=
right, which may be because Swing only fakes a native look instead of usin=
g native iconography and widgets. The absence of complex widgets and the ho=
rribly complex API doesn't make things easier, as well.
I had good experiences with QT and QTDesigner, although I don't have any =
experience in using it with Ruby (i did C++ development).
Regards,
Florian



--=20
Ruby Student
 
R

Robert Klemme

2010/1/11 Ruby Student said:
That been said, please do keep in mind that I am in a facts-finding
mission for a cross-platform GUI and which I find "easy". Again,
"easy" is also a subject word, as you know.

Maybe you get better directions if you define what "easy" means for
you. So far I have only seen that "easy" means "there is graphical
user interface builder". Is there more to it?

Side note: I once heard from a seasoned Java developer that he used
graphical UI designers only in the beginning and later turned to hand
written Swing. Apparently he was more productive that way. I have no
idea whether that experience is exceptional or rather common.

Kind regards

robert
 
R

Rick DeNatale

Hi Florian,

What I mean by the "power of Swing" is the fact that SWING is part of
Java and Java appears to be everywhere, on all platforms, including OS
X.

Ahh, the power of Swing

http://talklikeaduck.denhaven2.com/2009/02/14/erich-gamma-on-eclipse-lessons-agility-and-open-source

--
Rick DeNatale

Blog: http://talklikeaduck.denhaven2.com/
Twitter: http://twitter.com/RickDeNatale
WWR: http://www.workingwithrails.com/person/9021-rick-denatale
LinkedIn: http://www.linkedin.com/in/rickdenatale
 
M

Martin DeMello

Side note: I once heard from a seasoned Java developer that he used
graphical UI designers only in the beginning and later turned to hand
written Swing. =A0Apparently he was more productive that way. =A0I have n= o
idea whether that experience is exceptional or rather common.

I discovered miglayout [http://www.miglayout.com/] and never looked back.

martin
 
R

Ruby Student

Remember the expression: "Be careful what you wish for....."

At any rate, thinking this thing over and over, I noticed that two
components that runs everywhere:
1 - Java - I don't know any platform where Java does not run. There
might be one, but I don't know it! (Not surprisingly, I don't know
most of the things anyway)
2 - Web Browsers. Same as item 1 above. All the platforms that I use
support at least one of these browsers: IE, Mozilla, Chrome, Opera,
Safari

I earn my Rice & Beans as a UNIX admin guy - AIX to be exact. I also
use, in this order, the following: LINUX, Windows and OS X.
Many years ago, I mean many years ago, I used something in Java called
AWT. I used to design my Widgets by "hand". Then, other priorities
came up and I dropped Java altogether over 10 years ago or more. But
as a professional programmer, I did many years of assembly (BAL)
programming. Now, I am experimenting with Ruby and I like it very much
to the point that I have it running on over 130 very large AIX
production environments. We practically replaced the AIX shells with
Ruby. It took me years of convincing people that Ruby was the way to
go.
Now I am thinking that I can write some neat code if I can get some
kind of GUI development environment which I can master easily. I don't
have much time for learning and at my age time is also running out
rather quickly.

I tell you this not with the intention of telling you the story of my
life (it will not fit on the largest wikipedia anyway), but so you can
see my background and make some recommendations objectively.

Some people are sarcastic about answering incomplete or vague
questions, but please understand that sometime we don't really know
how to post a question so everyone understands it, even when it sounds
very logical to the person asking the question.

I thank everyone for taking the time to suggest, comment and recommend acti=
ons.


Hi Florian,

What I mean by the "power of Swing" is the fact that SWING is part of
Java and Java appears to be everywhere, on all platforms, including OS
X.
That been said, please do keep in mind that I am in a facts-finding
mission for a cross-platform GUI and which I find "easy". Again,
"easy" is also a subject word, as you know.
If I used the wrong wording when I spoke of SWING, then I apologize. I
will attribute this poor selection of words to my naive way of seeing
things!

Thank you

that there seems to be no possibility to create native-feel applications o=
n OS X because I have yet to find a possibility to create menus in the menu=
bar instead of the window. Swing does not know this concept and doesn't car=
e. When it comes to UI, this can hardly be called "cross-platform", just be=
cause it "runs" on the target platform. Also, the windows somehow don't fee=
l right, which may be because Swing only fakes a native look instead of usi=
ng native iconography and widgets. The absence of complex widgets and the h=
orribly complex API doesn't make things easier, as well.


--=20
Ruby Student
 
M

Mohit Sindhwani

Well, if you're comfortable with HTML, JS, and CSS, you can make
desktop or mobile apps in Ruby using http://www.appcelerator.com/,
which is kind of OT (no d-n-d IDE), but if it helps, great. I keep
meaning to use it, but web apps are more my line.

On a side-note, does anyone here have experience with appcelerator? I
keep thinking of getting round to it, but just haven't been able to...
been busy with stuff that keeps things moving

Cheers,
Mohit.
12/1/2010 | 12:53 AM.
 
M

Marnen Laibow-Koser

Ruby said:
Thank you to everyone that already posted and answer.

If at all possible, I would like a cross-platform package!

Then Monkeybars + NetBeans interface builder is the way to go.


Best,
-- 
Marnen Laibow-Koser
http://www.marnen.org
(e-mail address removed)
 
R

Ruby Student

Hi Robert,

I thought I did define what "easy" was on my very first note.
I compared "easy" to what MS VB can do.
I recall that back on the mid 90s, I played with VB and also with
product, now defunct, from CA named Realizer, which was a VB
competitor.
Both products were "easy" to use.

Again, I am sorry that this thing is taking so much time from so many
nice people, like yourself. I thought this was an "innocent" question!

You know, one of the biggest problem I find with the majorities of the
GUI toolkits for Ruby is the placing of the widgets where you want
them.
Hopefully a drag&drop will let me, visually, place the damn things
where I want them without having to experiment much!

Thank you for your comments!

Maybe you get better directions if you define what "easy" means for
you. =A0So far I have only seen that "easy" means "there is graphical
user interface builder". =A0Is there more to it?

Side note: I once heard from a seasoned Java developer that he used
graphical UI designers only in the beginning and later turned to hand
written Swing. =A0Apparently he was more productive that way. =A0I have n= o
idea whether that experience is exceptional or rather common.

Kind regards

robert



--=20
Ruby Student
 
M

Mohit Sindhwani

Hi Robert,

I thought I did define what "easy" was on my very first note.
I compared "easy" to what MS VB can do.
I recall that back on the mid 90s, I played with VB and also with
product, now defunct, from CA named Realizer, which was a VB
competitor.
Both products were "easy" to use.

Again, I am sorry that this thing is taking so much time from so many
nice people, like yourself. I thought this was an "innocent" question!

You know, one of the biggest problem I find with the majorities of the
GUI toolkits for Ruby is the placing of the widgets where you want
them.
Hopefully a drag&drop will let me, visually, place the damn things
where I want them without having to experiment much!
For the fourth time, try WideStudio :)

Cheers,
Mohit.
12/1/2010 | 1:52 AM.
 
R

Rob Saul

Florian said:
What exactly is the "power of Swing"? The deal-breaker for me always was that there
seems to be no possibility to create native-feel applications on OS X because I have
yet to find a possibility to create menus in the menubar instead of the window. Swing
does not know this concept and doesn't care.

This ability has been available for quite some time. In fact, if you
try NetBeans on OS X you will see it in action. Try Googling 'java os x
menu bar'.

Having looked at various "cross platform" GUI frameworks over the years
I have yet to see one that pleases 100% of developers 100% of the time.

Ruby has a number of GUI framework hooks available. Finding the one
that works for you is the trick. One has to be willing to invest some
time in trying at least a couple.


~Rob
 
M

Mohit Sindhwani

I will, I will!

Thanks a bunch!
It's not perfect, but it does give you drag, drop and place. It does
the wiring of the messages from the UI to your code and it is
multi-platform. There may be problems, but given how little is known
about WS, it may be a good thing for more people to play with it :)

As before, the links are:
* WideStudio/ Ruby - http://www.widestudio.org/EE/prog-ruby/prog.html
* Hello World in Ruby - http://www.widestudio.org/EE/prog-ruby/p5-1.html
* Home = http://www.widestudio.org/

There's a mailing list from the WideStudio home page. The author is
relatively responsive.

I'm not sure if it'll meet your needs, but it's worth a try!
Cheers,
Mohit.
12/1/2010 | 3:10 AM.
 
R

Robert Klemme

I thought I did define what "easy" was on my very first note.
I compared "easy" to what MS VB can do.

Well, MS development products are known to be pretty good (at least
that's what I'm hearing). But not everybody might know them -
especially here where - that's my impression - most people work on Linux
or Mac OS.
Again, I am sorry that this thing is taking so much time from so many
nice people, like yourself. I thought this was an "innocent" question!

No problem here. We all write voluntarily. :)

Kind regards

robert
 
M

Mark T

Firefox is already X-platform.
Renders svg very well.
Inkscape gets you DragonDropdesign.
XUL gets you bindings.
XUL-runner gets you an app.
Anyone up to packaging ruby as an extension?

MarkT
 
M

Marnen Laibow-Koser

Mohit said:
For the fourth time, try WideStudio :)

Cheers,
Mohit.
12/1/2010 | 1:52 AM.

The website (which is a bit of a mess) seems to say that on Mac OS X, it
only works with X11, not Aqua. Is this correct? If so, it's not really
a good solution for cross-platform end-user apps. Other than that,
though, it looks very interesting.

Best,
 
F

Florian Gilcher

was that there seems to be no possibility to create native-feel =
applications on OS X because I have yet to find a possibility to create =
menus in the menubar instead of the window. Swing does not know this =
concept and doesn't care.=20
=20
This ability has been available for quite some time. In fact, if you
try NetBeans on OS X you will see it in action. Try Googling 'java os = x menu bar'.
=20
Having looked at various "cross platform" GUI frameworks over the = years
I have yet to see one that pleases 100% of developers 100% of the = time.
=20
Ruby has a number of GUI framework hooks available. Finding the one
that works for you is the trick. One has to be willing to invest some
time in trying at least a couple.
=20
=20
~Rob
=20
=20

As a funny sidenote: I found that out yesterday while searching for the =
way to do it with SWT ;).

I still prefer the SWT look and feel.

Regards,
Florian
 
M

Mohit Sindhwani

The website (which is a bit of a mess) seems to say that on Mac OS X, it
only works with X11, not Aqua. Is this correct? If so, it's not really
a good solution for cross-platform end-user apps. Other than that,
though, it looks very interesting.
I don't have a Mac (never had), so I don't know for sure - it may be the
case that it doesn't support Aqua! I believe the developer doesn't
really work on a Mac either - though I may be wrong.

Cheers,
Mohit.
13/1/2010 | 12:14 AM.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,969
Messages
2,570,161
Members
46,710
Latest member
bernietqt

Latest Threads

Top