BT

InfoQ Homepage News A Statically Compiled Ruby for iOS

A Statically Compiled Ruby for iOS

Bookmarks

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
Style

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.

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

Community comments

  • Not version 0.1 of MacRuby

    by Russell Leggett /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    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 /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    My apologies for the typo.

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

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

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.