Slide 1

Slide 1 text

iOS meets Ruby @seanlilmateus • Mateus Armando • github.com/seanlilmateus Montag, 12. November 12

Slide 2

Slide 2 text

About Me Computer Scientists in System Integration Application Development Mateus Armando Telecommunications company Montag, 12. November 12

Slide 3

Slide 3 text

Rubymotion 7 years at Apple as as a senior software engineer for iLife and OS X. Creator and maintainer of MacRuby was an active contributor to RubyCocoa and Gnome Laurent Sansonetti Montag, 12. November 12

Slide 4

Slide 4 text

iOS Development Montag, 12. November 12

Slide 5

Slide 5 text

iOS Development I CAN DEVELOP NATIVE iOS APPS IN RUBY? SO , YOU’RE TELLI N G ME Montag, 12. November 12

Slide 6

Slide 6 text

iOS Development Montag, 12. November 12

Slide 7

Slide 7 text

Unified Runtime iOS SDK Foundation Framework Objective-C Runtime Objective-C Montag, 12. November 12

Slide 8

Slide 8 text

Unified Runtime iOS SDK Foundation Framework Objective-C Runtime Objective-C RubyMotion Montag, 12. November 12

Slide 9

Slide 9 text

Ruby vs Objective-C 2.0 [obj method:parameter]; obj.method parameter Montag, 12. November 12

Slide 10

Slide 10 text

Ruby vs Objective-C 2.0 NSMutableArray *friends = [@[@”Tom”,@”Tim”,@”Jim” ] mutableCopy]; friends = [”Tom”,”TIM”,”Jim”] Montag, 12. November 12

Slide 11

Slide 11 text

Ruby vs Objective-C 2.0 NSDictionary *dict = @{ @"key" : @[@”Object”]} dict = { “key” => [“object”]} Montag, 12. November 12

Slide 12

Slide 12 text

class Person attr_accessor :first_name, :last_name def full_name "#@first_name, #@last_name" end end // person.h @interface Person : NSObject @property (nonatomic, copy) NSString *firstName; @property (nonatomic, copy) NSString *lastName; @end // person.m @implementation Person - (NSString *) fullName { return [NSString stringWithFormat:@"%@ %@", [self firstName], [self lastName]]; } @end Ruby vs Objective-C 2.0 Montag, 12. November 12

Slide 13

Slide 13 text

but.... •Object Literals •ARC •Blocks (closures) •@synthesize by Default Montag, 12. November 12

Slide 14

Slide 14 text

but.... •Object Literals •ARC •Blocks (closures) •@synthesize by Default [fakeElvis doYouKnowTheMuffinMan: theMuffinMan]; Montag, 12. November 12

Slide 15

Slide 15 text

but.... •Object Literals •ARC •Blocks (closures) •@synthesize by Default [fakeElvis doYouKnowTheMuffinMan: theMuffinMan]; dth pixelsHigh:(NSInteger)height bitsPerSample:(NSInteger)bps samplesPerPixel:(NSInteg Montag, 12. November 12

Slide 16

Slide 16 text

but.... •Object Literals •ARC •Blocks (closures) •@synthesize by Default [fakeElvis doYouKnowTheMuffinMan: theMuffinMan]; rmat bytesPerRow:(NSInteger)rowBytes bitsPerPixel:(NSInteger)pixelBits Montag, 12. November 12

Slide 17

Slide 17 text

DEMO Montag, 12. November 12

Slide 18

Slide 18 text

CocoaPods.org rubymotion-wrappers.com CocoaControls.com Libraries Montag, 12. November 12

Slide 19

Slide 19 text

CocoaPods.org rubymotion-wrappers.com CocoaControls.com Libraries Montag, 12. November 12

Slide 20

Slide 20 text

CocoaPods.org rubymotion-wrappers.com CocoaControls.com Libraries Montag, 12. November 12

Slide 21

Slide 21 text

CocoaPods.org rubymotion-wrappers.com CocoaControls.com Libraries Montag, 12. November 12

Slide 22

Slide 22 text

CocoaPods.org rubymotion-wrappers.com CocoaControls.com Libraries Montag, 12. November 12

Slide 23

Slide 23 text

CocoaPods.org rubymotion-wrappers.com CocoaControls.com Libraries Montag, 12. November 12

Slide 24

Slide 24 text

CocoaPods.org rubymotion-wrappers.com CocoaControls.com Libraries Montag, 12. November 12

Slide 25

Slide 25 text

Thanks to GoSquered for the flags https://www.gosquared.com/resources/flag-icons http://www.textfromxcode.com Text from Xcode xcode has started sending me text messages. no, i don't know how. DEMO WORKED!!!! Montag, 12. November 12

Slide 26

Slide 26 text

Thanks to GoSquered for the flags https://www.gosquared.com/resources/flag-icons http://www.textfromxcode.com Text from Xcode xcode has started sending me text messages. no, i don't know how. Montag, 12. November 12

Slide 27

Slide 27 text

http://www.rubymotion.com 161,25 € RubyMotion Questions Montag, 12. November 12