Adam Blum: Rhodes — The Open Source Ruby Framework for Building Mobile Applications
This was one of the most interesting talks for me.
[Rhodes](http://www.github.com/rhomobile) lets you build “native” applications for all mobile phones.
The exciting new phones like iPhones don’t have a footprint in big
organizations. So what platform do you target for your mobile app? Rhodes.
Build the app quickly in HTML and Ruby. It’s a mobile optimized ruby
implementation. They port the ruby interpreter to Symbian, Blackberry, iPhone,
and Android, etc.
[http://www.github.com/rhomobile](http://www.github.com/rhomobile)
It’s a micro framework, and has RhoSync to sync the data with the remote
service. Wikipedia is implementing their mobile version with Rhodes.
Rhom is a tiny ORM. They have a mini web server that runs so that you can
write your UI in HTML + JavaScript. That way, they leverage the Web Browser
that exists on each platform. You as a developer get to assume that your data
is local at all times. The framework handles synchronizing the data for you —
if you wish — you can do your own network programming if you want.
Rhomobile provides sample apps:
* SugarCRM
* Siebel Field Services
Third-party Apps:
* TrailGuide
* Wikipedia
* Mobile Lighthouse (bug tracker)
How do you build your Rhodes App?
* Create a sync source so you can get your data.
* Generate scaffolding for your app.
* Develop your app.
* Build, test, deploy
Let’s do it:
$ gem install rhogen
$ rhogen # displays options
$ rhogen app
$ rhogen model Contact “” 1 name,phone
Then you generate your app for iPhone, and/or Symbian, etc.
They use stylesheets to make your app look “native” on the different
platforms. It’s in great shape for iPhone, Blackberry. The UI doesn’t look as
good on Android. They need someone to do the stylesheet work.
Feb release:
* GPS
* PIM
* Symbian
Future 1.0 release planned for March 24th:
* Android
* Camera support, photo sync to backend
* SMS
Future things:
* Audio
* Video
* Accelerometer
* Proximity detection (to enable voice when it gets close enough to the face)
— will happen faster if developers contribute the code
RhoHub is hosted app development environment. They prvoide user downloading
from a URL, a sync server. First 100 registrants get a private beta:
http://rhohub.com — they’re looking for feedback from developers.
They believe web programming is more productive than the traditional way of
developing native mobile apps.
Q: Can you do your own custom styling?
A: Absolutely, per app. You can even contribute styling libraries back to them for everyone to use.
Q: How is the ruby runtime stripped down?
A: They’re developing a framework, and so that determines what they do and
don’t include in the runtime. They will get around to publishing what the
interpreter has, at some point. They took out ‘eval’, because the Apple App
Store doesn’t allow apps to have dynamic, downloadable code.
Q: What kind of performance? Do people feel like it’s slow?
A: Once it starts up, it’s very fast. Start up time is 5 seconds on iPhone. 7
sec startup on Windows Mobile and Symbian. They’re still aiming at getting it
down to 5 seconds. Always less than 3 MB for each app. Google noticed that
they’re using sqlite for a “property bag”, so they’re looking at switching to
something more lightweight. On iPhone, sqlite comes with the OS.
Q: Any apps in the app store? Do you anticipate problems?
A: No, No. But wikipedia’s app is very close. Their name is riding on it, so
they want to test, test, test before they release.
It sounds like they’ve targeted iPhone primarily, and the other platforms are
secondary.