[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Re: Ruby GUIs and installation effort

bin liu

11/25/2004 5:23:00 AM

I think one GUI system dos not depends others except ruby will bee more flexible.

>R. Mark Volkmann wrote:

>I'm concerned about the state of GUI toolkits for Ruby when in comes to
>installation requirements, particularly under Mac OS X. I'm think about the
>case where we want to create a Ruby-based GUI application for non-developers to
>use.
>
>I recently went through the steps to get Tk working with Ruby under Mac OS X.
>It was fairly complicated. After all that work I found that GUIs I had created
>under Windows didn't look very good on Mac OS X. I then decided to try FOX.
>That required downloading the X11 software from Apple. I installed that and
>then found that I didn't automatically get the X11 library files that are
>needed in order to build FOX. Maybe I'll get this figured out eventually.
>
>The bottom line is that even if you take the time to write a great GUI app.
>using Ruby, your audience of potential users will likely be quite small.
>Installing Ruby is easy enough, but setting up a GUI toolkit is prohibitively
>complex for a non-developer. Compare this to Java. Install the Java Runtime
>Environment or use Java Web Start and Swing is available.
>
>One answer is to create web apps instead. That's not appropriate for every
>application though.
>
>Do others think this is an issue?
>
>--
>R. Mark Volkmann
>Partner, Object Computing, Inc.
>
>
>
>
Complete sense. What we need is an interface to make use of many toolkits
Ex. Swing. I've been using WideStudio, but the main complaint is from MacOS
users(it needs X11, and its not "pretty" like Cocoa). The main problem with
these toolkits like wxWidgets(aka wxWindows, changed because M.S. forced
them to change the name) are 1) lack of features, and 2) glitches between
operating systems.

What you say is not really an issue at all. On unicies you are required to
downloaded needed runtime libraries. This also includes MacOSX. Simply
download and install the needed libraries. If they are too difficult get a
computer specialist to install them for you. Libraries are the main
issue, if
they are not in the system, it can be problematic to the non-tech savy user.

David Ross
--
Hazzle free packages for Ruby?
RPA is available from http://www.rubyar...



_______________________________________________
programming is my life
my blog:http://blog.itpub....
http://www.ru...



18 Answers

Lyndon Samson

11/25/2004 5:44:00 AM

0

Here's an idea

XML/YAML based GUI Element Description Language

Using this language, all we need is a blank canvas to render the GUI
Elements/widgets to.

Something like

<guiElement name='button'>

<create>
<cstr>
<parm name='name'>
<setVariable name='name'>
</parm>
<parm name='x'>
</parm>
</cstr>
</create>

<render>
<box>
<x><variable name='x'/></x>
<y><variable name='y'/></x>
<w>100</w>
<h>100</h>
</box>
<shade>
</shade>
<font face='Arial' size='10'/>
<text><variable name='label'/></text>
</render>

<events>
<events>

</button>

Plenty of oportunity to cache rendered bitmaps for efficiency.


David Ross

11/25/2004 6:09:00 AM

0

bin liu wrote:

>I think one GUI system dos not depends others except ruby will bee more flexible.
>
>
>
>> Complete sense. What we need is an interface to make use of many toolkits
>>Ex. Swing. I've been using WideStudio, but the main complaint is from MacOS
>>users(it needs X11, and its not "pretty" like Cocoa). The main problem with
>>these toolkits like wxWidgets(aka wxWindows, changed because M.S. forced
>>them to change the name) are 1) lack of features, and 2) glitches between
>>operating systems.
>>
>>What you say is not really an issue at all. On unicies you are required to
>>downloaded needed runtime libraries. This also includes MacOSX. Simply
>>download and install the needed libraries. If they are too difficult get a
>>computer specialist to install them for you. Libraries are the main
>>issue, if
>>they are not in the system, it can be problematic to the non-tech savy user.
>>
>>David Ross
>>
>>
Sure. This type of framework would be more flexible, but what about
the people who use different languages? I definiately don't want to
embed/use a ruby based gui frame work. Eclipse is an abomination
to any work for me. This type of framework you describe can be
real bothersome to people. There is no way to tackle the issue of GUIs
because everybody has thier own choice. (ex. BSD vs. Linux) I could argue
all day about the annoyances in each and every GUI toolkit out there,
even WideStudio. The GUI toolkit choice is up to the user, if the develoer
has a disagreement with design in the code... send patches. There is no
thing as a perfect toolkit.

David Ross

--
Hazzle free packages for Ruby?
RPA is available from http://www.rubyar...



Dave Burt

11/25/2004 8:45:00 AM

0

> Sure. This type of framework would be more flexible, but what about
> the people who use different languages? I definiately don't want to
> embed/use a ruby based gui frame work. Eclipse is an abomination
> to any work for me. This type of framework you describe can be
> real bothersome to people. There is no way to tackle the issue of GUIs
> because everybody has thier own choice. (ex. BSD vs. Linux) I could argue
> all day about the annoyances in each and every GUI toolkit out there,
> even WideStudio. The GUI toolkit choice is up to the user, if the develoer
> has a disagreement with design in the code... send patches. There is no
> thing as a perfect toolkit.
>
> David Ross

I disagree that it's unhelpful.

Look at Swing - a minimum of native components, with many lightweight
widgets based on these. This means loose binding to the platform and hence
better/easier portability.

Such a system would become a natural choice over existing frameworks for
all-Ruby projects.

Obviously, for projects that include Python, C, whatever, you're right that
it's not ideal. I'm not sure how important this is, although, thinking about
Java, it may be more important than I have considered it.

I think I'd vote for XML-based systems (XUL or XAML) to deal with these
problems rather well, if I had any experience with them.

What about an XUL-interpreting framework for Parrot?

Cheers,
Dave


gabriele renzi

11/25/2004 10:51:00 AM

0

Lyndon Samson ha scritto:
> Here's an idea
>
> XML/YAML based GUI Element Description Language

I don't really like xml/yaml based gui description, but consider that
Gtk/glade, wxruby/xrc , qtruby/qtdesigner all use xml files fto describe
a gui. Maybe we need an xslt trsformation :)

Anyway, also consider that Sean Russel is/was sorking on a cross-gui gui
package wich used an xmlish interface, XUL, IIRC.
http://raa.ruby-lang.org/project/...

gabriele renzi

11/25/2004 11:02:00 AM

0

Dave Burt ha scritto:

> Look at Swing - a minimum of native components, with many lightweight
> widgets based on these. This means loose binding to the platform and hence
> better/easier portability.

It seem to me that many people "hate" swing, consider it one of the main
reason think that java is slow, and generally think SWT is much better.

Anyway, I really don't think a real cross platform gui is possible.
Gtk, and wxWidget both use some basic things and build over them to gain
portability.
But even in this case you're requiring the user to install it, and stuff
like the platform's interface guideline would be messed up.

I think that stuff like wxruby (or tk, wich I'm told can work with Aqua)
is the best you can get.

just my 0.02 euro

Dave Burt

11/25/2004 12:59:00 PM

0

"gabriele renzi" <rff_rff@remove-yahoo.it> wrote:
> Dave Burt ha scritto:
>
>> Look at Swing - a minimum of native components, with many lightweight
>> widgets based on these. This means loose binding to the platform and
>> hence better/easier portability.
>
> It seem to me that many people "hate" swing, consider it one of the main
> reason think that java is slow, and generally think SWT is much better.

I'm happy to leave the AWT/Swing debate to c.l.j; suffice it to say my view
is Swing's API's far better designed (which is more important from toolkit
user's perspective than how easy it is to port)

> Anyway, I really don't think a real cross platform gui is possible.

Why not?

> Gtk, and wxWidget both use some basic things and build over them to gain
> portability.
> But even in this case you're requiring the user to install it, and stuff
> like the platform's interface guideline would be messed up.
>
> I think that stuff like wxruby (or tk, wich I'm told can work with Aqua)
> is the best you can get.

I don't think anything we have now is the best you can get :)

Maybe the only practical approach to having a Portable Ruby GUI Framework
(PRGF) is an incremental approach, getting the likes of wx, tk, maybe even
Gtk, up to speed on the platforms they're behind on.

Call me nuts, I just like the idea of a Ruby toolkit that works out of the
box on Windows, Mac and *nixes like so much of Ruby's useful libraries.

> just my 0.02 euro

Darn -- outbid! My AUD $0.02 is worth little more than half that, at current
market rates. I guess you win :)

Cheers!
Dave


David Ross

11/25/2004 2:13:00 PM

0

Dave Burt wrote:

>>Sure. This type of framework would be more flexible, but what about
>>the people who use different languages? I definiately don't want to
>>embed/use a ruby based gui frame work. Eclipse is an abomination
>>to any work for me. This type of framework you describe can be
>>real bothersome to people. There is no way to tackle the issue of GUIs
>>because everybody has thier own choice. (ex. BSD vs. Linux) I could argue
>>all day about the annoyances in each and every GUI toolkit out there,
>>even WideStudio. The GUI toolkit choice is up to the user, if the develoer
>>has a disagreement with design in the code... send patches. There is no
>>thing as a perfect toolkit.
>>
>>David Ross
>>
>>
>
>I disagree that it's unhelpful.
>
>Look at Swing - a minimum of native components, with many lightweight
>widgets based on these. This means loose binding to the platform and hence
>better/easier portability.
>
>
I've to agree with everybody else on this small fact. Swing is slow
as molasses, and everyone that creates a big apps with Java using
guis knows how slow Java can be. I believe that MagicDraw UML is
the program which is offering thier apps in a Java to C++ compiler
due to the slowness of Java, the Swing is so bloated the program
operates so slow its terrifying.

* all references to Java refer to Sun's slow implementation

>Such a system would become a natural choice over existing frameworks for
>all-Ruby projects.
>
>Obviously, for projects that include Python, C, whatever, you're right that
>it's not ideal. I'm not sure how important this is, although, thinking about
>Java, it may be more important than I have considered it.
>
>I think I'd vote for XML-based systems (XUL or XAML) to deal with these
>problems rather well, if I had any experience with them.
>
>
I've looked into XUL, and used it some. Its great for RAD. I've only
used it in small projects with mozilla. There is actually a XUL generator
for Python, but some people don't want thier apps open-source.
Yes yes, ruby isnt byte encoded, but one could create the lib to
the gui in another lanauge and link/load.

>What about an XUL-interpreting framework for Parrot?
>
>
*grin*

>Cheers,
>Dave
>
>
>
>
>
>
David Ross
--
Hazzle free packages for Ruby?
RPA is available from http://www.rubyar...



Alexander Kellett

11/25/2004 2:24:00 PM

0

impossible. too slow. you would have to write half in c in any case

Alex

On Nov 25, 2004, at 6:23 AM, bin liu wrote:

> I think one GUI system dos not depends others except ruby will bee
> more flexible.



Alexander Kellett

11/25/2004 2:25:00 PM

0

On Nov 25, 2004, at 2:03 PM, Dave Burt wrote:
> I'm happy to leave the AWT/Swing debate to c.l.j; suffice it to say my
> view
> is Swing's API's far better designed (which is more important from
> toolkit
> user's perspective than how easy it is to port)

not awt. swt.

>> Anyway, I really don't think a real cross platform gui is possible.
>
> Why not?

because to target mac os x, windows, gnome, or kde,
in *every* case you need an *entirely* different look
and feel. this just isn't possible with the standard
mechanisms used in gui creation.

let me summarize:
layouts are *just too low-level*

Alex



R. Mark Volkmann

11/25/2004 3:37:00 PM

0

Quoting Dave Burt <dave@burt.id.au>:

> Call me nuts, I just like the idea of a Ruby toolkit that works out of the
> box on Windows, Mac and *nixes like so much of Ruby's useful libraries.

This is the state I'm hoping we reach at some point ... a one-click installer
for all major platforms that includes the most commonly used GUI libraries.

--
R. Mark Volkmann
Partner, Object Computing, Inc.