• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
RubyMotion: Hack Your iOS App Like Never Before
 

RubyMotion: Hack Your iOS App Like Never Before

on

  • 1,298 views

* Talk @ RubyConf Taiwan 2012 (2012.12.08)

* Talk @ RubyConf Taiwan 2012 (2012.12.08)

Statistics

Views

Total Views
1,298
Views on SlideShare
1,298
Embed Views
0

Actions

Likes
2
Downloads
5
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    RubyMotion: Hack Your iOS App Like Never Before RubyMotion: Hack Your iOS App Like Never Before Presentation Transcript

    • an Taiw nf C o byRu RubyMotion HACK YOUR IOS APP LIKE NEVER BEFORE
    • Who Am I?
    • 古傑芳
    • @josephku
    • WHAT’S RUBYMOTION?A Ruby toolchain for iOSDevelop and test native iOS app in RubyBased on MacRubyLaurent Sansonetti (@lrz)
    • Why RubyMotion?
    • iOS SDKFoundation FrameworkObjective-C Runtime Objective-C
    • iOS SDK Foundation Framework Objective-C RuntimeRubyMotion Objective-C
    • WHY RUBYMOTION?100% native codeKeep your editorApp Store compliant
    • Babe, Let’s Rock!!
    • Dirty
    • Dirty
    • The Last Mile
    • DEPLOYMENTDeploy your app to beta testers by TestFlight$ gem install motion-testflight$ rake testflight notes=OrzDeploy to App Store$ rake archive:distribution
    • Objective-C// Foo.h@interface Foo: NSObject{}@property (nonatomic, strong) NSString *bar;@end// Foo.m#import “Foo.h”@implementation Foo@synthesize bar = _bar;@end RubyMotion class Foo attr_accessor :bar end
    • WTF!!outputImageProviderFromBufferWithPixelFormat:pixelsWide:pixelsHigh:baseAddress:bytesPerRow:releaseCallback:releaseContext:colorSpace:shoul dColorMatch:
    • Objective-CNSDictionary *rules = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber NumberWithBool:TRUE],"RubyIsAwesome",nil]; RubyMotion rules = { RubyIsAwesome: 1 } What’s the magic??
    • Babe, Rock Again!!
    • LIMITATIONSrequireevaldefine_methodProc#bindingRegular gems don’t work
    • PROS & CONSOne-time fee of $199Growing faster and fasterApple’s attitude
    • Is RubyMotion the future?
    • DSL
    • App.alert("BubbleWrap is awesome!")App.run_after(0.5) { p "Its #{Time.now}" }App.open_url("http://rubyconf.tw/2012/")Device.iphone?Device.ipad?Device.front_camera?BW::Media.play_modal("http://www.hrupin.com/wp-content/uploads/mp3/testsong_20_sec.mp3")EM.add_timer 1.0 do puts "Great scott!"end
    • RubyMine
    • IS THE RUBYMOTION THE FUTURE?DSLWell-known editor and IDE SupportActive community
    • C’mon, it’s Ruby!!
    • Any questions?
    • Thank you!