Sure, I Could Learn Objective-C, but...
-
Upload
joshua-ballanco -
Category
Technology
-
view
1.210 -
download
2
description
Transcript of Sure, I Could Learn Objective-C, but...
![Page 1: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/1.jpg)
Sure, I could learn Objective-C but...
Isn’t there something better?
![Page 2: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/2.jpg)
Joshua Ballanco
@manhattanmetric
https://github.com/jballanc
![Page 3: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/3.jpg)
Joshua Ballanco
@manhattanmetric
https://github.com/jballanc
![Page 4: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/4.jpg)
What is Objective-C?
• Object Oriented
• Message Passing
• SmallTalk Inspired
• Strict Superset of C
![Page 5: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/5.jpg)
Objective-C Explosion
Why?
![Page 6: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/6.jpg)
Duh...
![Page 7: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/7.jpg)
Is there another option?
![Page 8: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/8.jpg)
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...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/9.jpg)
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...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/10.jpg)
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...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/11.jpg)
Learning a New Language
Stage 3
I get it!
![Page 12: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/12.jpg)
How to learn RubyMotion?
• If you don’t know Objective-C...
• GREAT! Go for it!
![Page 13: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/13.jpg)
• 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...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/14.jpg)
JTGestureBasedTableViewhttps://github.com/jamztang/JTGestureBasedTableViewDemo
![Page 15: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/15.jpg)
GestureTable Samplehttps://github.com/HipByte/RubyMotionSamples/tree/master/ios/GestureTable
![Page 16: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/16.jpg)
Direct Translation
Obj-C
RubyMotion
![Page 17: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/17.jpg)
Direct Translation
![Page 18: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/18.jpg)
Direct Translation
![Page 19: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/19.jpg)
Direct Translation
Obj-C
RubyMotion
![Page 20: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/20.jpg)
Direct Translation
Obj-C
RubyMotion
![Page 21: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/21.jpg)
Direct Translation
Obj-C
RubyMotion
![Page 22: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/22.jpg)
Direct Translation
Obj-C
RubyMotion
![Page 23: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/23.jpg)
Ruby Refactoring
![Page 24: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/24.jpg)
Ruby Refactoring
![Page 25: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/25.jpg)
Re-Open Core Classes
![Page 26: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/26.jpg)
Modules
![Page 27: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/27.jpg)
Modules
![Page 28: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/28.jpg)
Wrappershttp://motionwrappers.com/
![Page 29: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/29.jpg)
Wrappershttp://motionwrappers.com/
![Page 30: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/30.jpg)
Wrappershttp://motionwrappers.com/
![Page 31: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/31.jpg)
Wrappershttp://motionwrappers.com/
![Page 32: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/32.jpg)
Wrappershttp://motionwrappers.com/
![Page 33: Sure, I Could Learn Objective-C, but...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/33.jpg)
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...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/34.jpg)
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...](https://reader030.fdocuments.in/reader030/viewer/2022020306/5403a7388d7f72de4c8b485c/html5/thumbnails/35.jpg)
Moral of the Story...
Use the best tool for the job...and there is more than one tool!