Forum: Ruby Re: Yahoo! Widgets (JavaScript) - do we have a anything like

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
67bb4df2775f6a6b603347dce7119571?d=identicon&s=25 unknown (Guest)
on 2006-02-09 10:33
(Received via mailing list)
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
430ea1cba106cc65b7687d66e9df4f06?d=identicon&s=25 David Vallner (Guest)
on 2006-02-09 14:30
(Received via mailing list)
DÅ?a Å tvrtok 09 Február 2006 10:32 Nuralanur@aol.com napísal:
> 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
19f65b7dca6831edf989224b5ebd3fe0?d=identicon&s=25 unknown (Guest)
on 2006-02-09 17:00
(Received via mailing list)
> 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.net/tile/), GTK(not pretty on mac). Best
stick
with what you're writing for depending on the target: Windows, GNOME, or
KDE
environments.

Tsume
430ea1cba106cc65b7687d66e9df4f06?d=identicon&s=25 unknown (Guest)
on 2006-02-09 18:01
(Received via mailing list)
Quoting tsumeruby@tsumelabs.com:

> 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.net/tile/), 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
19f65b7dca6831edf989224b5ebd3fe0?d=identicon&s=25 unknown (Guest)
on 2006-02-09 18:26
(Received via mailing list)
On Friday 10 February 2006 01:59 am, david@vallner.net wrote:
Have you even used Tk/Tile?

Tsume
430ea1cba106cc65b7687d66e9df4f06?d=identicon&s=25 David Vallner (Guest)
on 2006-02-09 20:54
(Received via mailing list)
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

DÅ?a Å tvrtok 09 Február 2006 18:26 tsumeruby@tsumelabs.com napísal:
19f65b7dca6831edf989224b5ebd3fe0?d=identicon&s=25 unknown (Guest)
on 2006-02-10 00:34
(Received via mailing list)
On Friday 10 February 2006 04:54 am, David Vallner wrote:
> 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*
430ea1cba106cc65b7687d66e9df4f06?d=identicon&s=25 David Vallner (Guest)
on 2006-02-10 02:29
(Received via mailing list)
DÅ?a 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
430ea1cba106cc65b7687d66e9df4f06?d=identicon&s=25 David Vallner (Guest)
on 2006-02-10 02:52
(Received via mailing list)
DÅ?a Piatok 10 Február 2006 00:34 tsumeruby@tsumelabs.com napísal:
> 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
Ddbd8bc32e3a87163b4658b2785d2082?d=identicon&s=25 Mark Somerville (Guest)
on 2006-02-10 11:04
(Received via mailing list)
On Friday 10 February 2006 01:52, David Vallner wrote:
> > 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/node/1686

> 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
Ddbd8bc32e3a87163b4658b2785d2082?d=identicon&s=25 Mark Somerville (Guest)
on 2006-02-10 12:44
(Received via mailing list)
On Friday 10 February 2006 10:04, Mark Somerville wrote:
> > > the method to switch all the tk methods to use tile so the developer
> That particular thing is solved for Qt4 -
> http://www.kdedevelopers.org/node/1686
>
> > 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
430ea1cba106cc65b7687d66e9df4f06?d=identicon&s=25 David Vallner (Guest)
on 2006-02-10 14:27
(Received via mailing list)
DÅ?a Piatok 10 Február 2006 12:44 Mark Somerville napísal:
> > > Hungarian notation in class names instead of using module namespaces
> Cool.
Utterly. It seems there's more people around with pet peeves like me.
(Run for
the hills! Doom is upon us!)

David Vallner
0276239ca57aee241d4b41379587fa20?d=identicon&s=25 Lyle Johnson (Guest)
on 2006-02-10 16:44
(Received via mailing list)
On 2/9/06, David Vallner <david@vallner.net> wrote:

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

FOX uses Hungarian notation in its class names?
430ea1cba106cc65b7687d66e9df4f06?d=identicon&s=25 David Vallner (Guest)
on 2006-02-10 19:12
(Received via mailing list)
DÅ?a Piatok 10 Február 2006 16:44 Lyle Johnson napísal:
> On 2/9/06, David Vallner <david@vallner.net> wrote:
> > 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).
>
> FOX uses Hungarian notation in its class names?

Well, sort of. The fact that all the classes start with FX, -and- are in
a FOX
namespace too if I recall correctly. Seems a bit overkill to me. Just an
aesthetic quibble basically, anyone may feel free to disagree with me. I
suppose there's more advantages to preserving consistency with the C++
version,

David Vallner
19f65b7dca6831edf989224b5ebd3fe0?d=identicon&s=25 unknown (Guest)
on 2006-02-10 21:19
(Received via mailing list)
On Friday 10 February 2006 08:44 pm, Mark Somerville wrote:
> > 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

The possibility to use either has been in qtruby for a long time.

Tsume
This topic is locked and can not be replied to.