[lnkForumImage]
TotalShareware - Download Free Software

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


 

Forums >

comp.lang.ruby

Re: Yahoo! Widgets (JavaScript) - do we have a anything like this?

Nuralanur

2/9/2006 9:33:00 AM

Dear Glenn,

Fox is a GUI toolkit that can run on Windows, Linux, OSX.
There are Ruby bindings FXRuby for it.
Just yesterday,a new version of foxGUIb, a very nice helper for building
GUIs with all
sorts of widgets was released.
(I had a segmentation fault using it on Cygwin/WindowsXP, though,
but that seems unrelated to foxGUIb, since it doesn't
occur under Redhat)..
I don't know about Javascript implementations, but that
will surely not be a problem given Ruby's universal fame as a
web-development language ....

Best regards,

Axel

14 Answers

David Vallner

2/9/2006 1:30:00 PM

0

Dna Štvrtok 09 Február 2006 10:32 Nuralanur@aol.com napísal:
> Dear Glenn,
>
> Fox is a GUI toolkit that can run on Windows, Linux, OSX.
> There are Ruby bindings FXRuby for it.
> Just yesterday,a new version of foxGUIb, a very nice helper for building
> GUIs with all
> sorts of widgets was released.
> (I had a segmentation fault using it on Cygwin/WindowsXP, though,
> but that seems unrelated to foxGUIb, since it doesn't
> occur under Redhat)..
> I don't know about Javascript implementations, but that
> will surely not be a problem given Ruby's universal fame as a
> web-development language ....
>
> Best regards,
>
> Axel

I believe Glenn called for something that lets him do desktop applets, not
standard GUI. Can you make something like completely borderless windows with
non-rectangular shapes in FOX?

<insert random religious rant against synthetic GUIs from a recent KDE whore
here>

David Vallner


tsumeruby

2/9/2006 4:01:00 PM

0

> I believe Glenn called for something that lets him do desktop applets, not
> standard GUI. Can you make something like completely borderless windows
> with non-rectangular shapes in FOX?
>
> <insert random religious rant against synthetic GUIs from a recent KDE
> whore here>
>
> David Vallner

A standard GUI toolkit could be used to create the widgets, using the
borderless attribute to the windows. However, FOX is not a good candidate
because it isn't pretty. There is Qt, Tk(with tile
http://tktable.sourceforge...), GTK(not pretty on mac). Best stick
with what you're writing for depending on the target: Windows, GNOME, or KDE
environments.

Tsume


David Vallner

2/9/2006 5:00:00 PM

0

Quoting tsumeruby@tsumelabs.com:

> > I believe Glenn called for something that lets him do desktop applets, not
> > standard GUI. Can you make something like completely borderless windows
> > with non-rectangular shapes in FOX?
> >
> > <insert random religious rant against synthetic GUIs from a recent KDE
> > whore here>
> >
> > David Vallner
>
> A standard GUI toolkit could be used to create the widgets, using the
> borderless attribute to the windows. However, FOX is not a good candidate
> because it isn't pretty. There is Qt, Tk(with tile
> http://tktable.sourceforge...), GTK(not pretty on mac). Best stick
> with what you're writing for depending on the target: Windows, GNOME, or KDE
>
> environments.
>
> Tsume
>
>

Ah well, here it comes... That is very, very true. Cross-platform GUIs are IMO
a
myth, since the widgets are only the least of it.

A Windows application will look completely out of place in KDE, and vice versa.
E.g. the Windows convention is to use labels next to toolbar buttons, GNOME
uses relatively large icons with labels below them, KDE by default doesn't have
labels next to toolbar items, Mac has very few very large icons on toolbars.
Putting the application menu bar on the top of the screen is the default on
Mac, a somewhat popular setting in KDE, unheard of in Windows. (I personally
feel mad whenever I use a non-KDE app that has the menu bar inside the window.)
Mac apps are likely not to make heavy use of context menus because of the
tradition of one-button mice, and instead use drag-and-drop for all sorts of
things that would look plain weird to a Windows user. And then there's KDE
letting you customize half every aspect of window behaviour and appearance.
Single click vs. double click for activation. And the list goes on and on and
on ad infinitum.

Most applications have their official specific GUI design guidelines which are
more or less followed by the developers targeting that platform - I expect the
Windows ones being by and large rather ignored. If you want to make a truly
cross-platform application, you need a toolkit that provides complete
integration into the targetted environments, and you still need to spend time
tweaking the frontends to look and feel like KDE on KDE, like GNOME on GNOME,
etc.

You can guess why Yahoo! Widgets don't have a Linux version. I dare claim it's
at least in part because all the major, and a lot of the minor Linux desktop
environments already have support for desktop applets (gDesklets, Kicker
applets, SuperKaramba), and the interest in using the Yahoo API would be
negligible.

You can make a GUI app that compiles and runs on most major platforms, but odds
are it will look completely out of place on the ones the developer doesn't use
himself.

That said, don't take this as an anti-FOX rant, I haven't worked with it any,
but if you're starting out on GUI programming, you should possibly ignore the
cross-platform issue and use a toolkit that is easy to use, learn, and Just
Works - I recommend Swing to people that ask me about Java GUIs for the same
reasons, even if SWT tends to look better. If FOX does deliver these, it's in
my opinion a very good toolkit to bite your GUI teeth on, and with native
theming support for WinXP and upwards in the works, it can also end up being a
very good toolkit for Windows development. Just don't get fooled by the
cross-platform buzzword, because that's just the tip of the proverbial
iceberg.

David Vallner


tsumeruby

2/9/2006 5:27:00 PM

0

On Friday 10 February 2006 01:59 am, david@vallner.net wrote:
Have you even used Tk/Tile?

Tsume

> Quoting tsumeruby@tsumelabs.com:
> > > I believe Glenn called for something that lets him do desktop applets,
> > > not standard GUI. Can you make something like completely borderless
> > > windows with non-rectangular shapes in FOX?
> > >
> > > <insert random religious rant against synthetic GUIs from a recent KDE
> > > whore here>
> > >
> > > David Vallner
> >
> > A standard GUI toolkit could be used to create the widgets, using the
> > borderless attribute to the windows. However, FOX is not a good candidate
> > because it isn't pretty. There is Qt, Tk(with tile
> > http://tktable.sourceforge...), GTK(not pretty on mac). Best stick
> > with what you're writing for depending on the target: Windows, GNOME, or
> > KDE
> >
> > environments.
> >
> > Tsume
>
> Ah well, here it comes... That is very, very true. Cross-platform GUIs are
> IMO a
> myth, since the widgets are only the least of it.
>
> A Windows application will look completely out of place in KDE, and vice
> versa. E.g. the Windows convention is to use labels next to toolbar
> buttons, GNOME uses relatively large icons with labels below them, KDE by
> default doesn't have labels next to toolbar items, Mac has very few very
> large icons on toolbars. Putting the application menu bar on the top of the
> screen is the default on Mac, a somewhat popular setting in KDE, unheard of
> in Windows. (I personally feel mad whenever I use a non-KDE app that has
> the menu bar inside the window.) Mac apps are likely not to make heavy use
> of context menus because of the tradition of one-button mice, and instead
> use drag-and-drop for all sorts of things that would look plain weird to a
> Windows user. And then there's KDE letting you customize half every aspect
> of window behaviour and appearance. Single click vs. double click for
> activation. And the list goes on and on and on ad infinitum.
>
> Most applications have their official specific GUI design guidelines which
> are more or less followed by the developers targeting that platform - I
> expect the Windows ones being by and large rather ignored. If you want to
> make a truly cross-platform application, you need a toolkit that provides
> complete integration into the targetted environments, and you still need to
> spend time tweaking the frontends to look and feel like KDE on KDE, like
> GNOME on GNOME, etc.
>
> You can guess why Yahoo! Widgets don't have a Linux version. I dare claim
> it's at least in part because all the major, and a lot of the minor Linux
> desktop environments already have support for desktop applets (gDesklets,
> Kicker applets, SuperKaramba), and the interest in using the Yahoo API
> would be negligible.
>
> You can make a GUI app that compiles and runs on most major platforms, but
> odds are it will look completely out of place on the ones the developer
> doesn't use himself.
>
> That said, don't take this as an anti-FOX rant, I haven't worked with it
> any, but if you're starting out on GUI programming, you should possibly
> ignore the cross-platform issue and use a toolkit that is easy to use,
> learn, and Just Works - I recommend Swing to people that ask me about Java
> GUIs for the same reasons, even if SWT tends to look better. If FOX does
> deliver these, it's in my opinion a very good toolkit to bite your GUI
> teeth on, and with native theming support for WinXP and upwards in the
> works, it can also end up being a very good toolkit for Windows
> development. Just don't get fooled by the cross-platform buzzword, because
> that's just the tip of the proverbial iceberg.
>
> David Vallner


David Vallner

2/9/2006 7:55:00 PM

0

I had a look at Tile, and it looks promising too. But I tried doing some
Ruby/Tk, and didn't quite "click" with the toolkit. There's also the fact
that Tcl/Tk's white performance elephant in the middle of the room is even
heavier than Ruby's - I don't know whether the Ruby binding binds "directly"
to the Tk code or goes through an embedded Tcl interpreter it controls.

Personally, I'm pondering giving the GTK or QT bindings a look, although I
don't know what state the latter is in, or if there are more extensive KDE
bindings available. The GTK binding should be pretty usable from what I've
heard. I'm also waiting for wxRuby 2 to go final, since I actually have
experience with the toolkit, and had some better experience using it on my
Windows box than GTK. Mind you, all of this was a looong time ago, I haven't
been doing any GUI programming since over a year, and even then it was from
necessity Windows Forms of .NET 1.1 infamy *shudder*.

David Vallner

Dna Štvrtok 09 Február 2006 18:26 tsumeruby@tsumelabs.com napísal:
> On Friday 10 February 2006 01:59 am, david@vallner.net wrote:
> Have you even used Tk/Tile?
>
> Tsume
>


tsumeruby

2/9/2006 11:34:00 PM

0

On Friday 10 February 2006 04:54 am, David Vallner wrote:
> I had a look at Tile, and it looks promising too. But I tried doing some
> Ruby/Tk, and didn't quite "click" with the toolkit. There's also the fact
> that Tcl/Tk's white performance elephant in the middle of the room is even
> heavier than Ruby's - I don't know whether the Ruby binding binds
> "directly" to the Tk code or goes through an embedded Tcl interpreter it
> controls.
>
> Personally, I'm pondering giving the GTK or QT bindings a look, although I
> don't know what state the latter is in, or if there are more extensive KDE
> bindings available. The GTK binding should be pretty usable from what I've
> heard. I'm also waiting for wxRuby 2 to go final, since I actually have
> experience with the toolkit, and had some better experience using it on my

Well, I'll reply in the middle of the paragraph. I usually think about ruby
bindings; how much they are complete and are they stable the bindings are
compared to others. Qt might be the best toolkit to use, however the ruby
bindings are not frozen yet, hence I don't want to use it until rdale stops
modifying how the toolkit works. He just made the signal/slots similar to how
rails works. GTK is very stable and one of the two top best at stability. Tk
is the most stable of course, being around longer since all of the other
toolkits, and now in 1.8.4 having the method to switch all the tk methods to
use tile so the developer doesn't have to call on tile widgets. FOX is okay,
but when you don't call methods right, you end up with crappy code because
you can't find which method you called wrong when you have a 5000 line
script. I don't write line by line, execute as I type each out like a new
programmer, I write half complete programs before I start testing.

> Windows box than GTK. Mind you, all of this was a looong time ago, I
> haven't been doing any GUI programming since over a year, and even then it
> was from necessity Windows Forms of .NET 1.1 infamy *shudder*.

For the finale!
*Laughs*

>
> David Vallner
>
> Dna Štvrtok 09 Február 2006 18:26 tsumeruby@tsumelabs.com napísal:
> > On Friday 10 February 2006 01:59 am, david@vallner.net wrote:
> > Have you even used Tk/Tile?
> >
> > Tsume


David Vallner

2/10/2006 1:29:00 AM

0

Dna Piatok 10 Február 2006 00:34 tsumeruby@tsumelabs.com napísal:
> > Windows box than GTK. Mind you, all of this was a looong time ago, I
> > haven't been doing any GUI programming since over a year, and even then
> > it was from necessity Windows Forms of .NET 1.1 infamy *shudder*.
>
> For the finale!
> *Laughs*
>

*cough* To add insult to injury, this was after experimenting with the
insanely comfortable and well thought out Swing and SWT over on the Java
side. I had to use .NET because it actually ran out of the box on college
machines, and there was a libpcap binding available. I can't start to count
the hours I spent pouring over the .NET docs to verify that no, there are
absolutely NO layout managers or anything like that except the goddamn
useless docking and anchoring. Or not being able to bind the contents of a
List widget to a collection and then automagically refresh it short of
learning ADO. Etc.

What didn't help was the local "if we're not coding it, it's not worth coding"
MS fandom, that answered all of my questions about how the bloody hell do you
post events across threads sanely with a "Huh? Why don't you code everything
in automatically generated GUI event handlers like every Form Designer weenie
does?". I stopped asking after the third time I failed explaining to them
that all the input to the application comes from two network interfaces
completely asynchronously and there are no GUI events at all.

David Vallner


David Vallner

2/10/2006 1:52:00 AM

0

Dna Piatok 10 Február 2006 00:34 tsumeruby@tsumelabs.com napísal:
> Well, I'll reply in the middle of the paragraph. I usually think about ruby
> bindings; how much they are complete and are they stable the bindings are
> compared to others. Qt might be the best toolkit to use, however the ruby
> bindings are not frozen yet, hence I don't want to use it until rdale stops
> modifying how the toolkit works. He just made the signal/slots similar to
> how rails works. GTK is very stable and one of the two top best at
> stability. Tk is the most stable of course, being around longer since all
> of the other toolkits, and now in 1.8.4 having the method to switch all the
> tk methods to use tile so the developer doesn't have to call on tile
> widgets. FOX is okay, but when you don't call methods right, you end up
> with crappy code because you can't find which method you called wrong when
> you have a 5000 line script. I don't write line by line, execute as I type
> each out like a new programmer, I write half complete programs before I
> start testing.
>

Hmm, how "rubyish" are the Qt and GTK bindings anyway? I have personally a
HUGE pet peeve against ever writing using for example #set_foo in a ruby
binding instead of #foo= (wxRuby); goes for camelCase in method names, or
Hungarian notation in class names instead of using module namespaces (FOX).
Even if there's probably very good reasons for both of those, and if not,
possibly very unreasonable to change them now, my mind still has problems
switching between naming conventions mid-script.

David Vallner


Mark Somerville

2/10/2006 10:04:00 AM

0

On Friday 10 February 2006 01:52, David Vallner wrote:
> Dna Piatok 10 Február 2006 00:34 tsumeruby@tsumelabs.com napísal:
> > Well, I'll reply in the middle of the paragraph. I usually think about
> > ruby bindings; how much they are complete and are they stable the
> > bindings are compared to others. Qt might be the best toolkit to use,
> > however the ruby bindings are not frozen yet, hence I don't want to use
> > it until rdale stops modifying how the toolkit works. He just made the
> > signal/slots similar to how rails works. GTK is very stable and one of
> > the two top best at stability. Tk is the most stable of course, being
> > around longer since all of the other toolkits, and now in 1.8.4 having
> > the method to switch all the tk methods to use tile so the developer
> > doesn't have to call on tile widgets. FOX is okay, but when you don't
> > call methods right, you end up with crappy code because you can't find
> > which method you called wrong when you have a 5000 line script. I don't
> > write line by line, execute as I type each out like a new programmer, I
> > write half complete programs before I start testing.
>
> Hmm, how "rubyish" are the Qt and GTK bindings anyway? I have personally a
> HUGE pet peeve against ever writing using for example #set_foo in a ruby
> binding instead of #foo= (wxRuby);

That particular thing is solved for Qt4 -
http://www.kdedevelopers.org...

> goes for camelCase in method names, or
> Hungarian notation in class names instead of using module namespaces (FOX).
> Even if there's probably very good reasons for both of those, and if not,
> possibly very unreasonable to change them now, my mind still has problems
> switching between naming conventions mid-script.

But the camelCase is still there.

Mark

>
> David Vallner


Mark Somerville

2/10/2006 11:44:00 AM

0

On Friday 10 February 2006 10:04, Mark Somerville wrote:
> On Friday 10 February 2006 01:52, David Vallner wrote:
> > Dna Piatok 10 Február 2006 00:34 tsumeruby@tsumelabs.com napísal:
> > > Well, I'll reply in the middle of the paragraph. I usually think about
> > > ruby bindings; how much they are complete and are they stable the
> > > bindings are compared to others. Qt might be the best toolkit to use,
> > > however the ruby bindings are not frozen yet, hence I don't want to use
> > > it until rdale stops modifying how the toolkit works. He just made the
> > > signal/slots similar to how rails works. GTK is very stable and one of
> > > the two top best at stability. Tk is the most stable of course, being
> > > around longer since all of the other toolkits, and now in 1.8.4 having
> > > the method to switch all the tk methods to use tile so the developer
> > > doesn't have to call on tile widgets. FOX is okay, but when you don't
> > > call methods right, you end up with crappy code because you can't find
> > > which method you called wrong when you have a 5000 line script. I don't
> > > write line by line, execute as I type each out like a new programmer, I
> > > write half complete programs before I start testing.
> >
> > Hmm, how "rubyish" are the Qt and GTK bindings anyway? I have personally
> > a HUGE pet peeve against ever writing using for example #set_foo in a
> > ruby binding instead of #foo= (wxRuby);
>
> That particular thing is solved for Qt4 -
> http://www.kdedevelopers.org...
>
> > goes for camelCase in method names, or
> > Hungarian notation in class names instead of using module namespaces
> > (FOX). Even if there's probably very good reasons for both of those, and
> > if not, possibly very unreasonable to change them now, my mind still has
> > problems switching between naming conventions mid-script.
>
> But the camelCase is still there.

I think I was wrong. I haven't tried it out, but the README from the latest
release (and perhaps earlier, not sure) suggests that you can use underscores
or camelCase.

Cool.

Mark

>
> Mark
>
> > David Vallner