The Rhodes framework is an open source Ruby-based platform for building locally executing, device-optimized mobile applications. It is similar in concept to MVC frameworks such as Rails, Merb and Camping but much lighter weight (and hence executable on a mobile device) than any of these. Along the way of course, we had to implement Ruby for these device operating systems (iPhone, Windows Mobile, RIM and Symbian).
In general, developer productivity is much higher in Rhodes than writing to diverse native device operating systems and APIs since most of your UI customization can be done in HTML templates (ERB files). Rhodes also provides access to native device capabilities such as GPS and PIM data via an extended set of tags (e.g. <geolocation/>).
These applications are also optimized for interacting with hosted enterprise app (SaaS) backends . That is, it allows mobile applications to work offline with synced local data by embedding a client for RhoSync. The Rhodes source tree contains sample apps for SugarCRM, Siebel Field Service and Ligthouse.
Rhodes is available for iPhone, Windows Mobile, Research in Motion (BlackBerry) and Symbian smartphones. Support for Android devices will be available by end of February 2009.
I just found out about Rhodes, and it looks crazy cool. While I don't currently have a smart enough phone to play with it myself, maybe they'll eventually make it so the thing can target J2ME. (Or, I'll end up getting a smart phone). Regardless, the idea of writing phone applications in Ruby (or another dynamic language) has lots of charm for me, and I've been idly contemplating implementing a interpreter for some small language so that I can do just that on my phone.
In related news, I got to play with my friend's developer G1 this past weekend, and I like. I'm pleasantly surprised at the size and how well it feels. Perhaps I'll get one in a year or so. (And maybe I'll end up with version 2 at that point. ;)