What happened was, a few days ago I wanted to try out some fancy language technology on Android. A cat got in the way but the WiFi saved the day.
The way I understand it so far, the Android runtime is the Dalvik VM and the “Harmony+Android” libraries (unless you’re a hardcore gamer who wants to bend metal in C++ with the NDK). So I don’t think I need to be tied to curly braces and semicolons forever.
One obvious option is JRuby; no, there’s no rule saying you can’t have another runtime system on top of Android. JRuby runs on Android but isn’t really fast enough yet.
Duby, the Ruby-flavored statically-typed dynamic language that Charles Nutter has been cooking up, might be a good intermediate step, and Phil Hagelberg had built ohai-android to explore Duby on Android.
So I thought I’d get that running as a first step. Unfortunately, first of all you have to get a recent JRuby and Bitescript and then Duby itself, and figuring it all out took me a little while. During which time the cat snuck onto my lap and went to sleep.
Eventually, Ant built my Android app out of 14 lines of Duby, and I needed the USB cable so I could ship it to the phone. The phone was handy but the USB cable was across the room, and my elderly female cat has earned a few evenings of undisturbed lap time.
Then I remembered that my laptop has a Web server and my phone was on the
same home LAN, so I copied the .apk
over to
/Library/WebServer/Documents/whatever.apk
and did an
ifconfig -a | grep 192
to find my address and then pointed the
phone’s browser at http://192.168.1.57/whatever.apk
.
The phone installed the app, I proved to myself that it worked, and did some
further enjoyable tinkering, all while routing round the cat.
Comment feed for ongoing:
From: Gavin (Mar 16 2010, at 01:52)
wasn't there an xml database suite called SleepyCat?
[link]
From: Peter Svensson (Mar 16 2010, at 05:21)
I friend of mine has got a similar thing going, using JavaScript instead of Ruby, called Droidscript: http://divineprogrammer.blogspot.com/2009/12/rhinodroid-javascript-for-android.html
[link]
From: Ciaran (Mar 16 2010, at 06:30)
Along similar lines, running an FTP server on your android can be very handy - http://ciarang.com/posts/android-ftp-server
[link]
From: Max Hadley (Mar 16 2010, at 07:02)
Tim,
You may have rationalised as 'not wanting to disturb the cat', but actually you fell victim to the overwhelming power of Cat Gravity http://www.robinwood.com/Catalog/Prints/PrintPages/CatGravPoster.html
Max
[link]
From: d.w. (Mar 16 2010, at 07:40)
If your phone’s web browser supports mdns you might even be able to skip the “ifconfig” step -- I routinely use *.local addresses at home to hop between boxes.
[link]
From: Jonas Beckman (Mar 16 2010, at 07:53)
Sometimes I think the worst thing about Android is Java. Many other things feel so right, but a little more dynamic goodness (and less curly braces and semicolons) certainly won't hurt.
Fortunately, lots of people who feel this way are looking hard for alternatives right now. Personally, I love the playful approach of DroidScript, a nice hack which lets you write Javascript in a browser and run it directly on a network-connected Android phone. See http://droidscript.se/.
Not surprisingly, the author of DroidScript (Mikael Kindborg, http://twitter.com/divineprog) is also a Smalltalk fan and involved in Andreas Raab's hardcore compiled Squeak project: squeak-android-vm: http://code.google.com/p/squeak-android-vm/. Oh, for the joy of the good old workspace!
[link]
From: Raphael (Mar 20 2010, at 05:47)
Have you tryed http://code.google.com/p/android-scripting/wiki/TableOfContents?tm=6 Tim?
I'm using it to program android in Lua which is a pretty good language but it also supports a bunch of scripting languages and even plugin your own interpreter.
[link]