RubyMotion under the Hood
summary
RubyMotion compiles Ruby into native ahead‑of‑time compiled apps using LLVM + Objective-C runtime, not a JavaScript-style wrapper, so binaries are static and no runtime eval on iOS is possible; the runtime implements reference counting instead of GC and injects retains/releases so memory behaves like ARC. The build is command‑line driven (rake), integrates CocoaPods and rubygems, provides a REPL and LLDB debugging, and demos show retain counts drop by exactly two after clearing references and a simple “play time” app runs successfully in the simulator.
AI-written summary · about
chapters (20)
- 0:00Intro
- 2:24In graduate school
- 3:07At Apple... Retail
- 4:59After Apple...
- 6:42What is RubyMotion?
- 9:32What is MacRuby?
- 12:48Running a "something.rb" file
- 13:21AOT compiling "something.rb"
- 14:11Running an AOT compiled "something.rb"
- 17:16Static compiling "something.rb"
- 18:39Why must we statically compile?
- 21:00Garbage Collection
- 22:12So RubyMotion Uses ARC?
- 23:05ARC vs "ARC"
- 27:08Debugging RubyMotion
- 27:36Let's Play!
- 28:57REPL Magic
- 31:40Debugger Wizardry
- 36:07That's CRAZY!
- 38:28Questions?
related talks
36mUsing Ruby for iOS development
30mRubyMotion: Ruby in your pocket
50mInside RubyMotion
33mRubyMotion: Rubyizing iOS development
42mRubyMotion's Secret Sauce
34mThe future of Ruby is in motion!
22mRuby on your pocket with RubyMotion
28mRubymotion - iOS and OSX development from a Ruby developer's perspective
