Switching Tracks
Posted by Patrick on Monday, April 18, 2011Mon, Apr 18, 2011

I thought I'd briefly mention what I'm up to these days. I started working on one of my potential game ideas and did some upgrading on my game engine to bring it up to date on OpenGL ES 2.0.

And then I got distracted. So distracted, in fact, that I have decided to switch projects.

A little while back I tweeted to the effect of stating that there was a lot of low-hanging fruit for the tools developer who wanted to support iOS and other game developers. There are a few great apps out there already, but I think there's room for more and not many of them are on the Mac App Store yet, which is a shame.

So I've decided to pick one and make it. I've chosen something a little more generic so it will appeal to artists and designers too. It is something I've wanted for a long time that really has no contenders on the Mac. I'm not quite ready to spill the beans yet as I'm still prototyping, but stay tuned.

Of course, it's going to be a desktop application. But here's the interesting bit: I've decided, as an experiment, to write it in… MacRuby.

MacRuby is an implementation of Ruby on top of Mac OS X core technologies. It looks more and more like it is becoming an Apple sanctioned alternative to Objective-C — a prospect I find very exciting. Ruby is a very modern, very powerful and very programmer friendly language. It really is optimized for programmer happiness.

I use Ruby quite a bit to develop web applications and I love it, so the thought of using it for OS X apps is wonderful. So far the integration seems very good, and the implementation is fairly performant, although Xcode editor support is rough and documentation is sparse. Not exactly for the feint of heart, but still, nothing like a good challenge, eh?

Believe it or not, there are already a couple of MacRuby apps on the Mac App Store.

I do honestly believe MacRuby will eventually become a supported language for iOS development. It's only a matter of time really.

So. This is an opportunity for me to get a head start and combine a few of my favorite technologies, and to play with some new ones. Ruby + Cocoa + CoreAnimation + Grand Central Dispatch? Yes, please!

This post is part of iDevBlogADay, a group of blogs by indie iPhone developers featuring two posts per day. You can subscribe to iDevBlogADay through RSS or follow the #iDevBlogADay hash tag or @idevblogaday on Twitter.