Rubymotion: Writing iOS apps with Ruby
updated over 4 years ago; latest suggestion about 4 years ago
Rubymotion lets you write native iOS apps in Ruby, this talk explores the toolkit and the community that has sprung up around it.
The following topics will be covered:
- Introduction to Rubymotion
- A little history behind it
- Comparison with Objective C and Cocoa
- Things you can't do Ruymotion
- Building and Debugging
- 3rd Party libraries
- Rubymotion apps in the App store
- Pros and Cons
It's based on a previous talk done at LRUG (http://lanyrd.com/2012/lrug-november/szfbf/), but more rounded, polished and up to date, including more indepth sections on:
- Interface builder
- More advanced examples
- Interesting abstractions like BubbleWrap, FormMotion and Teacup
I have to admit that this doesn't interest me much. But then I am a Linux user who is frequently frustrated by the Apple monoculture that exists in the Ruby community, so not really in your target audience.
Maybe it would interest me more if it was less "how to build an iOS app" (which I am unlikely to ever do) and more "what general things can be learned from Rubymotion".
I've updated the proposal to cover some of these suggestions.
For those of us that weren't at the relevant LRUG meeting, do you think you could summarise what it covered?
Rubymotion would be a great topic. I would love to see more real world examples of codebases used in production apps.
How readable is it when you have a decent sized application?
some stuff about BubbleWrap would also be great. I feel the greatest advantage of Rubymotion could end up being the open-source wrapping that is created around typical functions, possibly even a Rails type simplicity to creating functioning iOS apps
- Some stuff about Core Foundation types, i.e.
- How are the plain C Apple libraries represented.
Memory management with CF types, i.e. ARC toll-free bridging and CFRetain, CFRelease. How does that work with RubyMotion.
OpenGL how is it used with RM?
It is pretty weird, but I've not found a good way around it yet without wrapping lots of the Cocoa frameworks in some kind of higher level module, ala Bubblewrap.
Interestingly the named arguments syntax is coming in ruby 2.0, although not to quite the same result with regards to method signatures I believe.
One of the things that puts me off RubyMotion is the hybrid syntax for defining methods with named arguments, e.g.:
def application(application, didFinishLaunchingWithOptions:launchOptions) end
I'm wondering if I'm alone in finding this awkward to read and deal with, and how much it presents difficulty in day-to-day work. Is this something you plan to cover?