Ruby Weekly is a weekly newsletter covering the latest Ruby and Rails news.

Apple and Ruby: The Ongoing Relationship

By Eldon Alameda / August 21, 2008

apple_ruby-3.jpg While it was pretty momentous last year when Mac OS X (Leopard) was released with full support for Ruby and Rails included with the OS, it seems that the Ruby train is still rolling with Apple.

A recent InfoQ article highlights some ways that Apple is using Ruby that you might have missed - including:

  • The iPhone Configuration Web Utility - A tool written in Ruby on Rails for allowing enterprise customers to manage iPhones.
  • The SproutCore JavaScript framework - Which is designed for making desktop-like applications on the web and is used in Apple's new MobileMe applications. SproutCore is installed as a gem, uses generators written in Ruby to create resources and it utilizes Merb to generate HTML artifacts. (Update: SproutCore isn't a Ruby project / Ruby-based system per se, but it does offer some good tie-ins to the Ruby ecosystem.)
  • The MacRuby project - Apple's own port of Ruby to the Objective-C runtimes - which should make it much easier to integrate with Cocoa for Desktop development.

I haven't played with the MobileMe web applications much, but I recall thinking that they looked fairly impressive. Have any other Ruby developers tried SproutCore yet? How's it working out for you?

Post supported by Brightbox: Brightbox is a specialist European Rails hosting company. Each Brightbox server includes an optimised Ruby on Rails stack, SAN storage and access to a managed MySQL database cluster. They also manage dedicated clusters for large scale Rails deployments. Click here to learn more..


  1. Mike Subelsky says:

    I am using Sproutcore heavily and loving it. It's still early days for the framework, but definitely has some of the same feel as Rails, once you learn to think about how a client-side app is different from a server app. It's a very powerful and effective use of Ruby.

  2. Jonno says:

    Sproutcore is often associated with ruby and this confuses many people. Sproutcore is JS through and through. It is like saying that ruby code is actually C code because Ruby is written in C. The ruby simply acts as a compiler. It could easily be substitute for perl/python/objc or whatever.

  3. Johannes Fahrenkrug says:

    I was able to talk to the SproutCore Dev team right after their WWDC session and have been in touch since. I'm working on using SproutCore for OpenSocial development and it works like a charm. One of my patches was included in the 0.9.13 release.
    SproutCore's Ruby generators and helpers are very elegantly coded and make great use of this wonderful language.

  4. Tom says:

    Pretty sure MobileMe uses WebObjects, not Ruby / Rails.

  5. Mike Subelsky says:

    Tom, yes, but the JS and HTML that are rendered in the browser are generated using Javascript and Ruby helpers (ERB etc.)

  6. Peter Cooper says:

    Just while we're here, I wanted to point out this is Eldon Alameda's first post. He's one of three new writers on Ruby Inside - including Shalev NessAiver (who did a post a cpl weeks ago as a tester, but should be posting more soon) and Zach Inglis (who has yet to post).

  7. Jonno says:

    Mike, JS and HTML are not rendered in the browser with ruby. Sproutcore generates static html and javascript. They can be served from any vanilla web server.

    As I said before the ruby acts as a compiler, preprocessor is probably a more correct term, to generate static files.

  8. Jonno says:

    Mike, I see on your blog you are using SC by proxying to sc-server. When deploying you should be generating static files and deploying those, not using sc-server.

  9. Hugh Bien says:

    I hope Apple buys 280north, the company that makes Their web app is just incredible, even compared to MobileMe.

Other Posts to Enjoy

Twitter Mentions