I build web, mobile and desktop apps, produce screencasts, write ebooks, and provide pairing and training

RubyMotion iOS and OS X Development

I've been using RubyMotion to build apps since it was released.

I started using RubyMotion upon its release in 2012, having already been building iOS apps for a few years. I now use RubyMotion for the vast majority of our iOS apps, putting our Ruby experience to good use. Since RubyMotion released support for building OS X apps, I've been using it to build Mac desktop apps too.

What is it?

RubyMotion is a toolchain for building iOS and OS X applications using Ruby. It's based on a project that has been developed for the last five years for working with Cocoa libraries in Ruby, called MacRuby. RubyMotion apps are entirely compiled, not interpreted, and make available all of the same public APIs that Objective-C apps do, which means that RubyMotion apps 100% compliant with App Store regulations and guidelines.

As they compile to the same native apps, there is no performance hit or drawback to using RubyMotion - instead I get to build apps more quickly and easily, and can build neater solutions than I would in Objective-C. An ever increasing number of apps are using RubyMotion, including Jukely, Basecamp, and Temple.

Why is it our iOS and OS X app tool of choice?

While I have a lot of experience building iOS apps using Objective-C and Cocoa directly, I love using RubyMotion because it allows me to put my nine years of Ruby experience to use! I started doing Ruby before iOS was even on the radar, and as such I am able to build apps that take advantage of that skillset and expertise, crafting neat, innovative solutions and delivering reliable iOS and OS X apps quickly and efficiently.

This means you get the same great value as you would if you engaged me to build a web app, as I am able to use a lot of the same skills, combined with my knowledge of the Cocoa libraries, and I can get your app up and running in very short order.

What do I use it for?

I can build pretty much any type of iOS and OS X app you can think of using RubyMotion, but specifically I have experience with the following:

  • Integration with APIs
    • Handling sign up/sign in (OAuth)
    • Third party social authentication (Facebook, Twitter etc)
    • Data retrieval, caching
    • Pull-to-refresh triggering API updates
    • Mashing together multiple APIs to present to the user
  • Familiar iOS look and feel
    • Navigation
    • Tab bars
    • Table views
    • Text fields
  • Deep iOS integration
    • Camera uploads
    • Local storage
    • Accelerometer
    • Background tasks and threads
    • Push notifications
  • Useful desktop apps
    • Productivity and developer tools
    • Status bar apps
    • Background processing
    • Integration with local or remote data sources

Here are the most recent RubyMotion apps that we've worked on:

You can see more of our work here.

I've been writing articles on various aspects of building RubyMotion apps:

I've released the following open source code projects related to RubyMotion development and our tutorial articles:

I'm also writing a book about building Mac OS X apps with RubyMotion, now available in early access!

If this is the kind of expertise you're looking for, please get in touch!


Building Mac OS X apps with RubyMotion

Learn how to build Mac apps with using Ruby with this ebook, currently in early access, and with the finished version coming soon.