RubyMotion Tutorial: Write iOS Apps in Ruby
rubymotion-tutorial.com
rubymotion-tutorial.com
* No XCode. Getting comfortable with Xcode takes time and I frequently hear people complain about it crashing, being bloated, etc. With RubyMotion you can just use your regular text editor and a command line.
* Ruby. While Objective-C isn't bad, I actually enjoy using Ruby. I'm much more likely to refactor and abstract functionality.
* Third-party gems and code: While there are limitations, it is generally pretty easy to use gems and other ruby code in RubyMotion. From what I understand, you can also call out to third-party Objective-C libraries from within RubyMotion, so you don't lose out on that ability.
* REPL: Using a terminal and the simulator you can interact with your code while its running.
I just use AppCode, with Xcode for interface builder and dealing with things like data models. It's closest enough to something that isn't a total piece of shit so that I can avoid slitting my wrists all day.
Also, some of the higher level api look much more Ruby-like: https://github.com/rubymotion/BubbleWrap
There are some problems (debugging isn't great right now, memory bugs happen if you do tricky things), but it's only a few months old and I'm confident it'll get better over time.
Here's the most important part:
> RubyMotion implements Ruby on top of the Objective-C runtime and iOS Foundation classes. Thanks to this tight integration, Ruby can interface with iOS very naturally at no performance expense.
> You can mix Ruby and Objective-C code, always have access to the latest C and Objective-C iOS APIs, and also make use of 3rd-party frameworks.
And something I didn't mention in the tutorial: you can even use existing Objective-C frameworks and code in RubyMotion apps using CocoaPods[1].