sure, i could learn objective-c, but

35
Sure, I could learn Objective-C but... Isn’t there something better?

Upload: joshua-ballanco

Post on 31-Aug-2014

1.210 views

Category:

Technology


2 download

DESCRIPTION

Slides from the presentation that I gave at the Kod.io conference in Istanbul, on October 26, 2013. In this presentation, I look at how RubyMotion can be used for much more than just a direct translation of Objective-C.

TRANSCRIPT

Page 1: Sure, I Could Learn Objective-C, but

Sure, I could learn Objective-C but...

Isn’t there something better?

Page 2: Sure, I Could Learn Objective-C, but

Joshua Ballanco

@manhattanmetric

https://github.com/jballanc

Page 3: Sure, I Could Learn Objective-C, but

Joshua Ballanco

@manhattanmetric

https://github.com/jballanc

Page 4: Sure, I Could Learn Objective-C, but

What is Objective-C?

• Object Oriented

• Message Passing

• SmallTalk Inspired

• Strict Superset of C

Page 5: Sure, I Could Learn Objective-C, but

Objective-C Explosion

Why?

Page 6: Sure, I Could Learn Objective-C, but

Duh...

Page 7: Sure, I Could Learn Objective-C, but

Is there another option?

Page 8: Sure, I Could Learn Objective-C, but

What is Ruby?

• Object Oriented

• Message Passing

• SmallTalk Inspired

• Strict Superset of C

RubyMotion is Rubyfor iOS and OS X

Page 9: Sure, I Could Learn Objective-C, but

Learning a New Language

Stage 1

I understand what you’re saying...but I have no idea how to reply

Page 10: Sure, I Could Learn Objective-C, but

Learning a New Language

Stage 2

I know how to construct statements,but they are direct translations

from that other language I know

Page 11: Sure, I Could Learn Objective-C, but

Learning a New Language

Stage 3

I get it!

Page 12: Sure, I Could Learn Objective-C, but

How to learn RubyMotion?

• If you don’t know Objective-C...

• GREAT! Go for it!

Page 13: Sure, I Could Learn Objective-C, but

• Directly Translate

• Apply Ruby Refactorings

• Re-Open Core Types (Monkey-Patching)

• Build Modules

• Use Wrappers

How to learn RubyMotion?

Page 14: Sure, I Could Learn Objective-C, but

JTGestureBasedTableViewhttps://github.com/jamztang/JTGestureBasedTableViewDemo

Page 15: Sure, I Could Learn Objective-C, but

GestureTable Samplehttps://github.com/HipByte/RubyMotionSamples/tree/master/ios/GestureTable

Page 16: Sure, I Could Learn Objective-C, but

Direct Translation

Obj-C

RubyMotion

Page 17: Sure, I Could Learn Objective-C, but

Direct Translation

Page 18: Sure, I Could Learn Objective-C, but

Direct Translation

Page 19: Sure, I Could Learn Objective-C, but

Direct Translation

Obj-C

RubyMotion

Page 20: Sure, I Could Learn Objective-C, but

Direct Translation

Obj-C

RubyMotion

Page 21: Sure, I Could Learn Objective-C, but

Direct Translation

Obj-C

RubyMotion

Page 22: Sure, I Could Learn Objective-C, but

Direct Translation

Obj-C

RubyMotion

Page 23: Sure, I Could Learn Objective-C, but

Ruby Refactoring

Page 24: Sure, I Could Learn Objective-C, but

Ruby Refactoring

Page 25: Sure, I Could Learn Objective-C, but

Re-Open Core Classes

Page 26: Sure, I Could Learn Objective-C, but

Modules

Page 27: Sure, I Could Learn Objective-C, but

Modules

Page 28: Sure, I Could Learn Objective-C, but

Wrappershttp://motionwrappers.com/

Page 29: Sure, I Could Learn Objective-C, but

Wrappershttp://motionwrappers.com/

Page 30: Sure, I Could Learn Objective-C, but

Wrappershttp://motionwrappers.com/

Page 31: Sure, I Could Learn Objective-C, but

Wrappershttp://motionwrappers.com/

Page 32: Sure, I Could Learn Objective-C, but

Wrappershttp://motionwrappers.com/

Page 33: Sure, I Could Learn Objective-C, but

Why should I use Objective-C

• Speed

• Interface directly with C libraries

• Like long method names

Page 34: Sure, I Could Learn Objective-C, but

Why should I use RubyMotion

• Development speed

• Clear, concise business logic

• Use high-level wrapper libraries

Page 35: Sure, I Could Learn Objective-C, but

Moral of the Story...

Use the best tool for the job...and there is more than one tool!