librelist archives

« back to archive

(Possibly) stupid question - why is Shoes bundled as an app?

(Possibly) stupid question - why is Shoes bundled as an app?

From:
Brett
Date:
2010-08-10 @ 03:34
Hi Shoes users,
   Perhaps I'm showing my Ruby ignorance, but I'm perplexed as to why 
Shoes is an application -- why is that?
   When I run shoes.run --keep (I'm using Ubuntu Linux) and look in the 
dist/ directory and its subdirectories, I see that it contains its own 
gems and it has the lib/ruby subdirectory which seems to have some 
source files from various projects.

   This seems very different from other Ruby projects which distribute 
themselves as gems and you simply "require 'gem'" in your source file to 
get it going.
   Is there a reason _why decided to do things his way?  I would imagine 
keeping your own gems in a subdirectory makes it impossible for the gems 
to be updated without rebundling Shoes with the updated gems inside.  Do 
you think in the future it might even be possible to change it into a 
normal rubygem distribution which you "require" in your source file?

   Thanks,
   Brett

Re: [shoes] (Possibly) stupid question - why is Shoes bundled as an app?

From:
Steve Klabnik
Date:
2010-08-10 @ 03:37
Hey Brett-

Check out this post we have by _why, it sort of answers this question:

http://wiki.github.com/shoes/shoes/clearing-up-the-whole-shoes-and-rubygems-deal

tl;dr: Fundamentally, Shoes is much more than a gem; it's a toolkit
for building applications.

Re: [shoes] (Possibly) stupid question - why is Shoes bundled as an app?

From:
Brett
Date:
2010-08-10 @ 04:31
On 10/08/10 12:37, Steve Klabnik wrote:
> Hey Brett-
>
> Check out this post we have by _why, it sort of answers this question:
>
> http://wiki.github.com/shoes/shoes/clearing-up-the-whole-shoes-and-rubygems-deal
>
> tl;dr: Fundamentally, Shoes is much more than a gem; it's a toolkit
> for building applications.
>
>    
Thanks again Steve for your reply.  That link is interesting.  I kind of 
get an Apple OS vs Android feeling.  I feel that Shoes is like Apple OS 
in that it restricts the developer ("you will use the ruby distribution 
included in Shoes") whereas normal gems are like Android in that there's 
more freedom.  I know it's not that bad as you can include gems in Shoes 
(although I'm finding that's buggy and doesn't really work for me).  It 
just doesn't feel in the normal spirit of Ruby (but I guess over time 
I'll get used to it).  It also feels a bit slow to start up because each 
time I run shoes it has to decompress itself.

   Cheers Brett

Re: [shoes] (Possibly) stupid question - why is Shoes bundled as an app?

From:
Cecil Coupe
Date:
2010-08-10 @ 04:32
Welcome Brett,

  Shoes is an app and not a gem because it's easier for casual users to
run a simple GUI script without the steep learning curve and the setup
hurdles for something like wxRuby. When you dig into it little more, the
'aha' moment will occur. Shoes is an *embedded* ruby Application and
it's not always the ruby language you may be used to. 

  Say I have a script that runs in Shoes version Raisins that requires
Ruby 1.8.7 (I do) and it's got exe, dmg and run file on my website for
downloading. The user doesn't have to do anything to run my script. Not
a single thing but click on Allow Windows to run it. If I put up another
script that requires Ruby 1.9.1, they can both be executed on the users
machine because they are self contained. They are there own execution
environment that doesn't require the user to download this version of
that library. 

  As a developer, it's not always easy to keep the simple illusion
working, but it's what makes Shoes different. 
--Cecil

On Tue, 2010-08-10 at 12:34 +0900, Brett wrote:
> Hi Shoes users,
>    Perhaps I'm showing my Ruby ignorance, but I'm perplexed as to why 
> Shoes is an application -- why is that?
>    When I run shoes.run --keep (I'm using Ubuntu Linux) and look in the 
> dist/ directory and its subdirectories, I see that it contains its own 
> gems and it has the lib/ruby subdirectory which seems to have some 
> source files from various projects.
> 
>    This seems very different from other Ruby projects which distribute 
> themselves as gems and you simply "require 'gem'" in your source file to 
> get it going.
>    Is there a reason _why decided to do things his way?  I would imagine 
> keeping your own gems in a subdirectory makes it impossible for the gems 
> to be updated without rebundling Shoes with the updated gems inside.  Do 
> you think in the future it might even be possible to change it into a 
> normal rubygem distribution which you "require" in your source file?
> 
>    Thanks,
>    Brett
> 
> 

Re: [shoes] (Possibly) stupid question - why is Shoes bundled as an app?

From:
Brett
Date:
2010-08-10 @ 04:39
On 10/08/10 13:32, Cecil Coupe wrote:
> Welcome Brett,
>
>    Shoes is an app and not a gem because it's easier for casual users to
> run a simple GUI script without the steep learning curve and the setup
> hurdles for something like wxRuby. When you dig into it little more, the
> 'aha' moment will occur. Shoes is an *embedded* ruby Application and
> it's not always the ruby language you may be used to.
>
>    Say I have a script that runs in Shoes version Raisins that requires
> Ruby 1.8.7 (I do) and it's got exe, dmg and run file on my website for
> downloading. The user doesn't have to do anything to run my script. Not
> a single thing but click on Allow Windows to run it. If I put up another
> script that requires Ruby 1.9.1, they can both be executed on the users
> machine because they are self contained. They are there own execution
> environment that doesn't require the user to download this version of
> that library.
>
>    As a developer, it's not always easy to keep the simple illusion
> working, but it's what makes Shoes different.
> --Cecil
>
>    
Thanks Cecil.  I agree that it's easy to get up and going quickly in 
Shoes.  If someone has never programmed Ruby before and were just given 
Shoes then they could start programming a GUI.  I guess because I have 
gotten used to using rubygems it's a little inconvenient to have to 
"run" Shoes and not just type "ruby script.rb".  Also I get a niggling 
feeling that "I don't need two Ruby distributions", I already have Ruby 
(and my gems) installed, so why do I need a second copy?  Anyway I'm 
sure I'll get that "aha" moment soon :)
Cheers, Brett

Re: [shoes] (Possibly) stupid question - why is Shoes bundled as an app?

From:
Steve Klabnik
Date:
2010-08-10 @ 04:54
You can type '/path/to/shoes script.rb' though

On Aug 10, 2010 12:39 AM, "Brett" <matrix@ninus.ocn.ne.jp> wrote:
> On 10/08/10 13:32, Cecil Coupe wrote:
>> Welcome Brett,
>>
>> Shoes is an app and not a gem because it's easier for casual users to
>> run a simple GUI script without the steep learning curve and the setup
>> hurdles for something like wxRuby. When you dig into it little more, the
>> 'aha' moment will occur. Shoes is an *embedded* ruby Application and
>> it's not always the ruby language you may be used to.
>>
>> Say I have a script that runs in Shoes version Raisins that requires
>> Ruby 1.8.7 (I do) and it's got exe, dmg and run file on my website for
>> downloading. The user doesn't have to do anything to run my script. Not
>> a single thing but click on Allow Windows to run it. If I put up another
>> script that requires Ruby 1.9.1, they can both be executed on the users
>> machine because they are self contained. They are there own execution
>> environment that doesn't require the user to download this version of
>> that library.
>>
>> As a developer, it's not always easy to keep the simple illusion
>> working, but it's what makes Shoes different.
>> --Cecil
>>
>>
> Thanks Cecil. I agree that it's easy to get up and going quickly in
> Shoes. If someone has never programmed Ruby before and were just given
> Shoes then they could start programming a GUI. I guess because I have
> gotten used to using rubygems it's a little inconvenient to have to
> "run" Shoes and not just type "ruby script.rb". Also I get a niggling
> feeling that "I don't need two Ruby distributions", I already have Ruby
> (and my gems) installed, so why do I need a second copy? Anyway I'm
> sure I'll get that "aha" moment soon :)
> Cheers, Brett
>