can use because it's not wrapping APIs - the entire SDK is available and you implement Apple APIs directly • It does not bridge objects, it creates Objective-C objects directly • It does not run a bunch of code in a web view • It does not compromise on performance
fully supported • Statically compiled to machine code (MacRuby uses JIT, which is not allowed on devices) • Full App Store compliance • Automatic memory management
need to be available at build-time • eval - not supported in static compilation • define_method - not supported in static compilation • Proc#binding - removed because of performance issue • Regular Ruby gems do not work
Apple’s UIAutomation framework describe "The Timer view controller" do tests TimerController it "has a timer label" do view('Tap to start').should.not == nil end end
• Observers • Location • HTTP • EM Reactor • Time • ..... fork and contribute! bubblewrap.io A collection of (tested) helpers and wrappers used to wrap CocoaTouch code and provide more Ruby like APIs.