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