A Statically Compiled Ruby for iOS

| by Jonathan Allen Follow 576 Followers on May 07, 2012. Estimated reading time: 1 minute |

A statically compiled variant of Ruby is now available for building applications that target iOS devices. Known as RubyMotion, this language and tool chain from HipByte fully conforms to Apple’s App Store guidelines. In order to do this they had to eliminate any sort of JIT-compiler or interpretation, which some Ruby developers may find limiting.

The tooling support is rather weak. RubyMotion does not have any IDE support. HipByte expects developers to their own text editor and the command-line terminal for most of their development tasks.

On the runtime-side the story is much better. RubyMotion fully supports multi-threaded programming without the inconvenience of a global interpreter lock. It even has an interface for Grand Central Dispatch, Apple’s task-based library for concurrent and parallel programming. Like Ruby itself, memory is managed by the runtime yet developers still have access to native and 3rd party Objective-C libraries. Supposedly this is done “very naturally at no performance expense”. Contrast this with Mono for Android, which often has to marshal objects between the Mono and Dalvik runtimes.

Much of RubyMotion is based in part on MacRuby. MacRuby is a four year-old project to offer Ruby 1.9 on top of the OS X and Objective-C. The last release was in March of 2011 and tagged version 0.10, suggesting that it isn’t progressing as quickly as they would like. “MacRuby is copyrighted free software by the MacRuby team and covered by the terms of the Ruby license.”

RubyMotion itself is not an open source project. It retails for $200 per developer with no royalties or other licensing fees. The retail price includes one year of updates, making it essentially a subscription that should be renewed on a yearly basis.

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Not version 0.1 of MacRuby by Russell Leggett

Just a clarification. The latest stable version is 0.10, not 0.1 - from the 0.10 release blog post:

Converging for 1.0
We are currently converting towards a first stable release of MacRuby, 1.0. We intend to deliver frequent releases until we reach that goal.

We do not expect further releases to include significant features, as we are now focusing on stability and compatibility issues.

Clearly something went off the rails (no pun intended), because the "frequent releases" until 1.0 does not seem to have happened, however 0.10 is mostly feature complete and stable.

Re: Not version 0.1 of MacRuby by Jonathan Allen

My apologies for the typo.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

2 Discuss

Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you