Monday, 29 December 2014

Raspberry Shoes Update

I haven't written anything about Raspberry Shoes in a while. The reason is that Raspberry Shoes still feels a long, long way away.

The route that was most attractive for me was Shoes 4 which is written for JRuby and the SWT cross-platform GUI toolkit. Last time I wrote I was quite optimistic, I had JRuby working on the Raspberry Pi. Shortly before then, the Shoes 4 team announced a pre-release Gem that would have made installing Shoes quite straightforward on Raspberry Pi. However, after installing the Gem I found that the Ruby SWT Gem upon which Shoes 4 relies only installs Intel versions of SWT. It seems there isn't an official ARM version of SWT. So, for the foreseeable future, it is unlikely that Shoes 4 will run on Raspberry Pi.

As an alternative, I installed the Green Shoes Gem. Green Shoes is a version of Shoes that uses the GTK2 GUI toolkit. It didn't work and so far I haven't spent anytime trying to figure out why. That's because Green Shoes is understandably no longer maintained in the light of Shoes 4.

One option that came to mind is that I could build Raspberry Shoes by forking Green Shoes and convert it to use GTK+3 (which, in the long term, I presume will be better supported on Raspberry Pi than GTK2). However, I very much doubt that I have the necessary skill to get it done in the time I have available. (I'm confident that I could do it if I put enough time into it.)

I even had a "if you can't beat them, join them" moment and thought that perhaps taking the easy choice, Python, would be better than trying to use Ruby. Then I saw a couple of Raspberry Pi Python code snippets. They were enough to convince me that Ruby will be much easier for a child to learn.

At the moment, I am undecided on what to do. Another language which can be even easier for beginners and in which I am more fluent than Ruby will be coming to Raspberry Pi soon. The language is Red. It is very highly influenced by Rebol. It is currently at the "alpha" stage and is expected to reach "beta" stage sometime next year. 

In the meantime, I'll try to spend a little time with Ruby and GTK+3 to see if I can come up with something for our seven year-old to follow on from Hello Ruby when it eventually arrives.


Laszlo said...

Hi Peter,

Thank you for sharing details about your effort about getting Shoes running on a Raspberry Pi. With Shoes 4, similar to you, I got stuck at the point of lacking ARM compatible SWT package.
However I have an older version of Shoes installed, but I am very confused how that works as none of the Shoes examples from the Shoes website work on Raspberry Pi. This version of Shoes seems to use different syntax. ( I am new to all this, so I am missing the specific version number).
First I was wondering if you ever got any older version of Shoes running on your Raspberry PI and if you ran into the same concern?

Thank you.


Peter W A Wood, Programmer said...

Hi Laszlo

I wasn't able to get an older version of Shoes to work on my Raspberry Pi when I tried. I decided to see what I could achieve with Ruby/GTK. Unfortunately, I haven't been able to spend much time with Ruby or Raspberry PI in the last year or so.

I did get Ruby/GTK working on the Raspberry PI but it is much more complicated to use than Ruby/Shoes.

One of the reasons that I didn't have much time to spend on them is that I help out with the Red Language ( It's inspiration is Rebol which has a built-in GUI called View. View must have been an inspiration for Shoes as they are quite similar. The Red team are working on a version of Red/View that will run on GTK+. Once it is released, there should be no problem using it on a Raspberry Pi.