As a longtime Rubyist who has developed iOS apps with Objective-C, I've always dreamt of being able to create iOS apps using the Ruby programming language. So I was excited to get a sneak peek at RubyMotion a few weeks back. It's a commercial toolchain that lets you write fast, native iOS apps in Ruby using the frameworks in the iOS SDK.
On the plane ride out to RailsConf I wrote a basic iOS app using RubyMotion. It was based on an example used in our iOS course. I honestly didn't expect to get much done on the short flight to Austin, but I found myself quickly ticking through the features and adding a few extras along the way. The app ended up showcasing an image view, a label, tap gestures, animations using blocks, and even some JSON file parsing with error handling. Again, it's a fairly basic iOS app, but I was amazed by the elegance of using Ruby syntax to call into iOS frameworks that expect Objective-C constructs.
Anyway, I was so blown away by the entire principle-of-least-surprise experience that after RailsConf I spent some time putting together a 50-minute screencast on how I created the app using RubyMotion. It covers all the high points of RubyMotion, and assumes you're familiar with Ruby and the iOS SDK.
I'm really looking forward to using RubyMotion to create a few other apps I've had in mind, just for personal use. I often have ideas for small productivity apps, or silly fun apps, that I wouldn't bother to create with Objective-C. Being able to use Ruby means I'm more likely to turn more of these ideas into actual apps.
In full disclosure, I did get a free copy of RubyMotion to play with, but I don't make anything off sales of RubyMotion. I'm simply excited to tell folks about this new way to quickly create iOS apps for distribution in the App Store, or for their own personal projects.