building your first native ios salesforce app with rubymotion
DESCRIPTION
Rubymotion is a revolutionary new toolchain that enables developers to rapidly create native iOS applications using Ruby. Rubymotion is a statically compiled, extensive subset of Ruby 1.9 designed to run seamlessly, at full speed, on top of the Objective-C runtime. Thus, Rubymotion apps are distributable via the iTunes App Store, and are interoperable with all of the hardware and software features of iOS. Additionally, and perhaps most importantly, Rubymotion has a "toll-free" bridge to existing Objective-C libraries and frameworks allowing, for instance, Rubymotion apps to utilize the Salesforce Mobile SDK. Join us to learn, through a mix of live coding and presentation, how to build iOS apps using Rubymotion.TRANSCRIPT
Building your first native iOS Salesforce App in Ruby
Kevin Poorman Technical Architect at Madrona Solutions group & Force.com MVP@CodeFriar
Kevin PoormanTechnical Architect at Madrona Solutions Group & Force.com MVPTwitter: @CodeFriar
Agenda• What is RubyMotion?
• Why use RubyMotion?• Considerations
• Getting started• Commas Save Lives
• Project Management• The Rakefile
• Objective-c to Ruby• Demo App walkthrough• Code walkthrough• Q/A
What is RubyMotion?• Toolchain• Ruby!• Static Ruby• Command Line based• Http://rubymotion.com
Why RubyMotion?Feature Objective-C RubyMotion
Memory Mgmt. Manual or ARC Automatically Managed
Editor Generally XCode Any editor you’d like
Build system XCode Command Line (Rake)
Language Objective-C Ruby ;)
Product Native iOS App Native iOS App
Lib Systems Cocoa Pods, TestFlight Cocoa Pods, TestFlight, MotionGems
Code example [[UIAlertView alloc] init] UIAlertView.alloc.init
Considerations• Commercial, $199.99• Require• *Eval
Getting Started.1. Motion create <app name>2. Edit3. Simulate
The Rakefile Explained• Build System.• Project Management
• 3rd Party Libraries, e.g. Salesforce Mobile iOS SDK• System frameworks and libraries• Distribution details• Name etc.
Obj-c to Ruby• “THIS”.to_lower()• application(application, didFinishLaunchingWithOptions:launchOptions)
• Translation• Obj-c: [[Obj StaticMethod] Param1:value1 Param2:Value2];• RubyMotion: Obj.StaticMethod.Param1(value1, Param2:Value2)
Demo App and Code Walkthrough
Additional Resources• http://rubymotion-tutorial.com/• http://rubymotion-wrappers.com/
• Esp. Bubblewrap and Sugarcube
• http://www.rubymotion.com/
Kevin Poorman
Technical Architect & Force.com MVP,
@CodeFriar
https://github.com/noeticpenguin/DfD
emoApp