The Ruby GUI debacle

R

Ruby Student

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!
 
A

Anton Pirogovski

Ruby said:
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.

Sorry, I cannot recommend you something similar for Windows (I don't use
it), but for mac development the .nib files, created with Interface
Builder (a standard Apple GUI creating app, comes bundled with Xcode,
freeware) shall do the thing.
In a nutshell: in Interface Builder you create the elements via
drag-n-drop, then you assign certain actions to certain elements.
You can develop in such a way using MacRuby or RubyCocoa(Ruby with a
Cocoa API).
 
M

Mohit Sindhwani

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.

You could try WideStudio. It does allow you to create a GUI by dragging
and dropping.

These are the programming notes for Ruby:
http://www.widestudio.org/EE/prog-ruby/prog.html
http://www.widestudio.org/EE/prog-ruby/p5-1.html [Hello World]

and the download is at:
http://www.widestudio.org/

Cheers,
Mohit.
11/1/2010 | 2:11 AM.
 
J

John W Higgins

[Note: parts of this message were removed to make it a legal post.]

Good Morning,

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.
Have a look at XRCise (http://wxruby.rubyforge.org/wiki/wiki.pl?UsingXRCise)
- should be pretty close to what you want (if you want to use wx).

John
 
R

Ruby Student

Thank you to everyone that already posted and answer.

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


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 =A0Ruby 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!



--=20
Ruby Student
 
B

Bosko Ivanisevic

[Note:  parts of this message were removed to make it a legal post.]

Love replying to myself......

Good Morning,
Have a look at XRCise (
http://wxruby.rubyforge.org/wiki/wiki.pl?UsingXRCise) - should be pretty
close to what you want (if you want to use wx).

I forgot that the tutorial uses DialogBlocks which is commerical - you could
use wxGlade as opposed to DialogBlocks to create the xrc file.

John

I was struggling with the same problem too when I started my work on
RStreamTuner (http://github.com/bosko/rstreamtuner). First I've tried
ruby Tk but lack of good documentation (and knowledge of Tcl)
prevented me to make something useful so I've decided to try WxWidgets
and wxruby. I must say that I'm really satisfied with it. Simple
applications can be made very quickly and documentation is quite good
- better say excellent for one open source project.

Although DialogBlocks are commercial tool their demo version can be
used for moderate complex GUI (I think they have limitation to 30
widgets. I didn't know about wxGlade and I will certainly try it.
Anyway wxruby is my choice for ruby GUI applications because to simple
way of using, very logical interface and their portability. My
application is working on Linux and Windows without any problem.
WxRuby guys even make binary gem for RubyInstaller (http://
www.rubyinstaller.org/) that I use on Windows. Only problem I've faced
is x64 bit version of their gem which didn't work on my Ubuntu 9.10,
but that was quite easy to overcome.

Regards,
Bosko Ivanisevic
 
R

Reid Thompson

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.

Look at using glade to generate the interface, the code the callbacks
 
M

Mohit Sindhwani

Thank you to everyone that already posted and answer.

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

Cheers,
Mohit.
11/1/2010 | 2:52 AM.
 
T

Tom Reilly

I've used FoxGUIb which works quite well for drag and drop for several
small projects. It is fairly easy to use and there is a tutorial on the
site.
Tom Reilly
 
P

Phillip Gawlowski

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.

NetBeans. Monkeybars is the glue to use NetBeans' GUI builder in JRuby.
 
J

James Britt

Ruby said:
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.


I am really curious as to why using Monkeybars was such trouble.

Contact me off-list if you like.

I used to contribute to Monkeybars, and I now use my own fork of it
(Jimpanzee) and in both cases one goal was to make things stupid simple.

--
James Britt

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
 
J

James Britt

Phillip said:
NetBeans. Monkeybars is the glue to use NetBeans' GUI builder in JRuby.

But know that you do not *have* to use Netbeans to make a UI for
Monkeybars. Monkeybars works by hooking into compiled Swing UI code.
But you can also use inline Swing code to get the same thing. That's
the point of my Neurogami::SwingSet project, to make it easier to write
Swing stuff in a text editor. (It's true of Jimpanazee, but I don't
recall if that code made it into Monkeybars.)

But if there's another tool preferred for creating the Swing UI layer,
that should work fine too, just tell the app what file is to be used.


For myself, I use SwingSet for simple UI items (an "About" screen, or
simple user input) and the Netbeans GUI editor for more sophisticated
layouts.

Hard to beat Netbeans for that.


--
James Britt

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
 
P

Phillip Gawlowski

But know that you do not *have* to use Netbeans to make a UI for
Monkeybars.

If you want a half-way decent drag & drop UI layout.. thing, like
NetBeans' SWING Builder (or whatever it's called), like the OP, then you
pretty much have to use NetBeans. ;)
For myself, I use SwingSet for simple UI items (an "About" screen, or
simple user input) and the Netbeans GUI editor for more sophisticated
layouts.

Hard to beat Netbeans for that.

Well, Visual Studio, maybe, but since VS plays in a way different league
than Sun ever did, *and* IronRuby isn't finished yet to hook into .NET...
 
D

David Masover

Look at using glade to generate the interface, the code the callbacks

Or use QTDesigner.

Point is, this isn't a Ruby problem, this is a GUI library problem. You'd have
the same problem in C++, C#, Python, Perl, C, OCaml, Lisp, Haskell, Erlang,
EcmaScript (JavaScript), Java, Scheme, Clojure....

The problem is mostly that you don't know what you're looking for. You're
looking for something called a "GUI Designer". Google it, and you'll find
dozens.

Once you can design a GUI for a library, in its native language, you can
probably work with it in Ruby. That process is complex enough that you should
probably follow a tutorial, rather than figure it out yourself, unless you
already know C/C++.

So, here's a tutorial:

http://www.arachnoid.com/ruby/RubyGUIProject/
 
R

Ruby Student

James, I don't remember if the problems was with Netbeans or something
else. But I followed a video to the period and I never got it right!
I am sure that if I tried long enough, I would probably succeed. Then
again with a job and a family it is difficult to dedicate infinite
time to these tools. So I gave up and continued writing ASCII mode
scripts!
To me, Monkeybars looked perfect because it makes available the power
of swing! But, here I am, still struggling!


I am really curious as to why using Monkeybars was such trouble.

Contact me off-list if you like.

I used to contribute to Monkeybars, and I now use my own fork of it
(Jimpanzee) and in both cases one goal was to make things stupid simple.

--
James Britt

www.jamesbritt.com =A0 =A0 =A0 =A0 =A0 - Playing with Better Toys
www.ruby-doc.org =A0 =A0 =A0 =A0 =A0 =A0 - Ruby Help & Documentation
www.rubystuff.com =A0 =A0 =A0 =A0 =A0 =A0- The Ruby Store for Ruby Stuff
www.neurogami.com =A0 =A0 =A0 =A0 =A0 =A0- Smart application development



--=20
Ruby Student
 
J

James Britt

Ruby said:
James, I don't remember if the problems was with Netbeans or something
else. But I followed a video to the period and I never got it right!

Ah, well, I'm pretty sure that, for all sorts of reasons, the videos are
out of date. :(

I am sure that if I tried long enough, I would probably succeed. Then
again with a job and a family it is difficult to dedicate infinite
time to these tools. So I gave up and continued writing ASCII mode
scripts!
To me, Monkeybars looked perfect because it makes available the power
of swing! But, here I am, still struggling!

As I say, if you want to ask me question off-list, please drop me a line.


--
James Britt

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
 
F

Florian Gilcher

=20
To me, Monkeybars looked perfect because it makes available the power
of swing! But, here I am, still struggling!

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. When it comes to UI, this can hardly be called =
"cross-platform", just because 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 using native iconography and widgets. The =
absence of complex widgets and the horribly 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=
 
M

Marc Heiler

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.

In a way the situation is a bit difficult for GUI apps in the year 2010.

The WWW really made this kind of trivial in an online-fashion. Want to
change colours of your formular or borders? Use a bit CSS. Need calback
actions? A bit Javascript. And so on.

With the various GUIs, they sometimes use completely different mindsets.

Personally I use ruby-gnome. I am quite happy with it. It has a great
wiki. Unfortunately, the ruby-gnome guys lack one or two more
maintainers who can spend some time every now and then on it.

My hope is that all the different GUIs learn from the WWW and adopt
several conventions. I'd love to be able to use CSS instead of
gtk-resource files to colourize my widget sets - and I refuse to use
"gtk themes", and I don't enjoy if upstream developers impose their
mindset on me (and my apps) when they don't really want to learn from
the www. (This is a generalization, I am well aware that GUIs are a lot
of work, with many boring bugs to fix in the long run)


Sometimes I think it would be cool to have a dedicated Ruby GUI team,
completely spending time on Ruby + GUI only.

Hey ... just a X-Mas wish ... something like Squeak or Gambas for Ruby
would be kinda neat, but I don't think that would happen :)
 

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

Forum statistics

Threads
473,755
Messages
2,569,535
Members
45,007
Latest member
obedient dusk

Latest Threads

Top