Where to start

T

Tolga C.

Hi all I am new to Ruby been trying to learn for a while but didn't get
a chance till now.

Here is my question:

I would like to create a application (not a web application) which will
run on linux machine.

What is the best application to create a ruby application with a GUI.
Where can I get 101 instructions or a cook book type of information on
Ruby and designing a GUI based ruby application.

Thank you,
 
F

Fabio Cevasco

The easiest (and most pleasant to work with!) Ruby GUI toolkit is definitely=
Shoes:

http://shoesrb.com/

Check out the site and the docs, they are very easy to understand.

Shoes was used to build Hackety Hack, an app suitable to teach Ruby to kids (=
but quite fun for adults too):

http://hackety-hack.com/

Fabio Cevasco
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
www.H3RALD.com
 
S

Steve Klabnik

[Note: parts of this message were removed to make it a legal post.]

+1 for Shoes. I am a bit biased, being on Team Shoes, though. ;)
 
F

Fabio Cevasco

Steve: thanks for helping maintaining such an awesome toolkit.

I really can't wait until you can provide a proper gem. While Shoes is fine f=
or standalone applications, I'd like to be able to add a GUI to an existing p=
roject, without being 'tied' to Shoes' packaging black magic for distributio=
n.

I read you guys are planning a partial rewrite in pure ruby... I can't wait!=
I would like to contribute actually, I just don't know where to start and w=
hat you are looking for right now.

Fabio Cevasco
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
www.H3RALD.com
 
D

David Masover

I really can't wait until you can provide a proper gem. While Shoes is fine
for standalone applications, I'd like to be able to add a GUI to an
existing project, without being 'tied' to Shoes' packaging black magic for
distribution.

+1

I haven't considered Shoes in quite a long time because of precisely this
reason. I have several existing ways to deploy apps, and it'd be really nice
if Shoes could separate the GUI framework from the deployment system. (I
suppose the deployment system might depend on Shoes, but I see no reason it
should be the other way around.)

Monkeybars seems _slightly_ less bound to Rawr -- hey, at least I can make a
rawr app without Monkeybars -- but I'd still much rather have it entirely
separate, so Ruby people can install my app as a gem.
 
S

Steve Klabnik

[Note: parts of this message were removed to make it a legal post.]

David, right now, they're 100% intertwined. That's the way that _why liked
it. Not only that, it's actually pretty integral to how Shoes works. It's
largely C code that exposes a Ruby that's slightly different...
http://shoesrb.com/manual/Rules.html see "Shoes tricky blocks"

Fabio, we'd love to have some contribution. Contact me off-list and I'd love
to have your help.
 
D

David Masover

David, right now, they're 100% intertwined. That's the way that _why liked
it.

Ok. The question is why he liked it, if you'll pardon the pun.
Not only that, it's actually pretty integral to how Shoes works. It's
largely C code that exposes a Ruby that's slightly different...
http://shoesrb.com/manual/Rules.html see "Shoes tricky blocks"

My first impression is, those don't look terribly tricky, at least as far as
implementation. self is changed via instance_eval. The "trick" of redirecting
drawing seems like an implementation detail, not of the language, but of
whatever classes you use to implement the DSL.

Scrolling down, the only thing I see that looks tricky at all is the UTF-8
support, and you'd think it would make sense to just use the Unicode support
that's built into 1.9, rather than having an entirely different version of
your own. In fact, it seems like this would cause a lot of problems for gems
I'd want to use _in_ a Shoes app.

If there's something I'm missing that absolutely has to modify the language in
C, is there a reason it couldn't be implemented as an extension and scoped to
Shoes?

I don't mean to imply that the work involved would be trivial. I have
absolutely no idea how much work it would be. I just don't see any major
blockers here -- I really don't see a good reason why Shoes should carry its
own version of Ruby, when we have all sorts of other GUI toolkits, application
frameworks, and DSLs distributed as plain old gems.
 
S

Steve Klabnik

[Note: parts of this message were removed to make it a legal post.]
Ok. The question is why he liked it, if you'll pardon the pun.


First of all, a disclaimer: I never met or talked to _why. So I can't really
fully represent what his wishes were. That being said, you have to remember
where Shoes came from: Hackety Hack. Hackety needs to have everything that
it needs to function wrapped up inside of it: _why didn't want anyone to
have to download anything else to get it working.

I don't mean to imply that the work involved would be trivial. I have

absolutely no idea how much work it would be.


Honestly, I can't think of anything in Shoes that would make it 100%
necessary. But the effort to convert everything over would certainly be
non-trivial.

I just don't see any major
blockers here -- I really don't see a good reason why Shoes should carry
its
own version of Ruby, when we have all sorts of other GUI toolkits,
application
frameworks, and DSLs distributed as plain old gems.

_why always referred to Shoes as an 'app toolkit.' He saw it as a different
thing. And Hackety needs it to be that way.

That said, we _are_ working on a pure Ruby Shoes, and it'll end up being the
future of Shoes. That said, it's going to be a bit still, and we'll still
have to work on getting the packaging system fully operational as well.

All in good time.
 
D

David Masover

First of all, a disclaimer: I never met or talked to _why. So I can't
really fully represent what his wishes were. That being said, you have to
remember where Shoes came from: Hackety Hack. Hackety needs to have
everything that it needs to function wrapped up inside of it: _why didn't
want anyone to have to download anything else to get it working.

That sounds like a problem for something like rawr. As far as I can tell, it's
possible to have a rawr app which doesn't use monkeybars, and vice versa.
_why always referred to Shoes as an 'app toolkit.' He saw it as a different
thing. And Hackety needs it to be that way.

None of which seems to contradict what you said here:
That said, we _are_ working on a pure Ruby Shoes,

Hackity doesn't need Shoes as a whole to be that way, it just needs _some_
sort of "app toolkit" -- again, something like rawr, though maybe rawr itself
isn't appropriate. I can see why such an "app toolkit" might be tightly bound
to a GUI toolkit, but I see no reason it should be the other way around.

I don't think we actually disagree here.
 
S

Steve Klabnik

[Note: parts of this message were removed to make it a legal post.]
I don't think we actually disagree here.

Totally. Just explaining why things are the way that they are, and why they
aren't different yet. :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,968
Messages
2,570,153
Members
46,699
Latest member
AnneRosen

Latest Threads

Top