The Ruby GUI debacle

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

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.

Haven't read all the posts in this thread, so sorry if this was
already mentioned. But I plan on using wxFormBuilder w/wxRuby. It
won't generate Ruby code, but it will output an XRC file you can use
with the appropriate tools and parse into the code you need (if I am
remembering correctly). I fooled around with it a little and it
seemed easy an intuitive enough for a novice like me to pickup.

I never liked Netbeans GUI builder. Couldn't get it to do little
annoying things I wanted, I guess. But I was also quite new to the
concept of the way layouts are built in these types of systems.

Give wxFormBuilder a try if you haven't already.

-Zach

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 :slight_smile:

···

--
Posted via http://www.ruby-forum.com/\.

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

···

On Mon, Jan 11, 2010 at 2:23 AM, Florian Gilcher <flo@andersground.net> wrote:

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

--
Ruby Student

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.

···

On 11/1/2010 8:35 PM, paron wrote:

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.

Florian Gilcher wrote:

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

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

···

2010/1/11 Ruby Student <ruby.student@gmail.com>:

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.

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

Ahh, the power of Swing

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

···

On Mon, Jan 11, 2010 at 9:04 AM, Ruby Student <ruby.student@gmail.com> wrote:

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.

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

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 actions.

···

On Mon, Jan 11, 2010 at 9:03 AM, Ruby Student <ruby.student@gmail.com> wrote:

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

On Mon, Jan 11, 2010 at 2:23 AM, Florian Gilcher <flo@andersground.net> wrote:

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

--
Ruby Student

--
Ruby Student

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

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

···

On Jan 11, 2010, at 7:29 PM, Rob Saul wrote:

Florian Gilcher wrote:

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

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

martin

···

On Mon, Jan 11, 2010 at 7:46 PM, Robert Klemme <shortcutter@googlemail.com> wrote:

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.

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!

···

On Mon, Jan 11, 2010 at 9:16 AM, Robert Klemme <shortcutter@googlemail.com> wrote:

2010/1/11 Ruby Student <ruby.student@gmail.com>:

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

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

--
Ruby Student

For the fourth time, try WideStudio :slight_smile:

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

···

On 12/1/2010 1:34 AM, Ruby Student wrote:

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!

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. :slight_smile:

Kind regards

  robert

···

On 11.01.2010 18:34, Ruby Student wrote:

--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/

I will, I will!

Thanks a bunch!

···

On Mon, Jan 11, 2010 at 12:52 PM, Mohit Sindhwani <mo_mail@onghu.com> wrote:

On 12/1/2010 1:34 AM, Ruby Student wrote:

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 :slight_smile:

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

--
Ruby Student

Mohit Sindhwani wrote:

···

On 12/1/2010 1:34 AM, Ruby Student wrote:

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 :slight_smile:

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,
--
Marnen Laibow-Koser
http://www.marnen.org
marnen@marnen.org
--
Posted via http://www.ruby-forum.com/\.

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 :slight_smile:

As before, the links are:
* WideStudio/ Ruby - WideStudio Programming Guide
* Hello World in Ruby - WideStudio Programming Guide
* 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.

···

On 12/1/2010 3:01 AM, Ruby Student wrote:

I will, I will!

Thanks a bunch!

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.

···

On 12/1/2010 9:35 AM, Marnen Laibow-Koser wrote:

Mohit Sindhwani wrote:
   

On 12/1/2010 1:34 AM, Ruby Student wrote:
     

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 :slight_smile:

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.