cross-platform mobile apps with rhomobile

July 10, 2009

Rhomobile offers an open-source, ruby application framework. On the client-side, Rhodes allows you to build mobile applications on iPhone, BlackBerry, Windows Mobile, Symbian and Android. The client app could be stand-alone or connected. On the server-side, enabling connected applications, RhoSync dramatically simplifies client-server data transfer.

I spent some time experimenting with it last week. The docs were pretty raw, but these folks are moving fast and the doc issues that I ran into have been fixed already. They also have a responsive google group. I built an iPhone app with a Heroku-hosted Rails back-end in about a day. Now with Rhohub, it appears that I could have built that same app in about a minute. I’ve just been approved for the beta, and am looking forward to checking it out myself.

A number of folks have asked me about my experience with Rhodes and are interested in learning about it, so I drew the diagram below in gliffy this morning to outline how it works (click it for a larger image).

rhomobile architecture

The green in the diagram represents Rhomobile framework code and the blue represents your code (where the blue cloud could be your web service or anything else you decide to connect to). You write your code in Ruby along with handy Rails-like generators. The UI is HTML and CSS, but it hooks into native controls. Very cool. I am intrigued to see just how the nuances of UI translate across all of the different client platforms using the framework. However, I don’t really need to worry about how much control I will have: the platform is open source, and if need be, I can always fall back to extending the platform with my own native code.