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


#1

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


#2

DÅ?a Å tvrtok 09 Február 2006 10:32 removed_email_address@domain.invalid 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?

David V.


#3

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?

David V.

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


#4

On Friday 10 February 2006 01:59 am, removed_email_address@domain.invalid wrote:
Have you even used Tk/Tile?

Tsume


#5

Quoting removed_email_address@domain.invalid:

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


#6

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

DÅ?a Å tvrtok 09 Február 2006 18:26 removed_email_address@domain.invalid napísal:


#7

DÅ?a Piatok 10 Február 2006 00:34 removed_email_address@domain.invalid 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 V.


#8

On Friday 10 February 2006 04:54 am, David V. 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


#9

DÅ?a Piatok 10 Február 2006 00:34 removed_email_address@domain.invalid 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 V.


#10

On Friday 10 February 2006 10:04, Mark S. 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


#11

On Friday 10 February 2006 01:52, David V. 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


#12

On 2/9/06, David V. removed_email_address@domain.invalid 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?


#13

DÅ?a Piatok 10 Február 2006 12:44 Mark S. 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 V.


#14

DÅ?a Piatok 10 Február 2006 16:44 Lyle J. napísal:

On 2/9/06, David V. removed_email_address@domain.invalid 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 V.


#15

On Friday 10 February 2006 08:44 pm, Mark S. 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