Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Sure, I could learn Objective-C but...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kod.io
October 26, 2013
Programming
95
1
Share
Sure, I could learn Objective-C but...
By Joshua Ballanco
http://kod.io
Kod.io
October 26, 2013
More Decks by Kod.io
See All by Kod.io
Our future is in our past or whatever
kodio
0
71
You should learn Go!
kodio
1
140
Daha iyi Geliştirme Ortamı için: Vagrant
kodio
0
79
Building Next-Generation iOS Apps with AFNetworking 2.0
kodio
2
390
Reactive Principles
kodio
1
150
AngularJS vs. Ember.js vs. Backbone.js
kodio
1
520
iBeacons: Interacting with the physical world using Bluetooth LE
kodio
1
110
Go: a simple programming environment
kodio
2
180
Why I had to write a client side framework for Koding.
kodio
1
100
Other Decks in Programming
See All in Programming
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
3.2k
🦞OpenClaw works with AWS
licux
1
370
UaaL×Androidアプリのメモリ計測 — Memory Profilerの先へ
rio432
0
160
cloudnative conference 2026 flyle
azihsoyn
1
190
[BalkanRuby 2026] Drop your app/services!
palkan
3
560
SkillsをS3 Filesに置く時のあれこれ
watany
3
1.6k
【ディップ|26年新卒研修資料】OpenAPI/Swagger REST API研修
dip_tech
PRO
0
170
Agent Skills を社内で育てる仕組み作り
jackchuka
1
2.1k
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
670
PHPでバイナリをパースして理解するASN.1
muno92
PRO
0
460
開発体験を左右するライブラリの API 設計 - GraphQL スキーマ構築ライブラリから考える #tskaigi
izumin5210
1
200
AIを導入する前にやるべきこと
negima
2
370
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
How to build a perfect <img>
jonoalderson
1
5.5k
A better future with KSS
kneath
240
18k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Embracing the Ebb and Flow
colly
88
5k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
Raft: Consensus for Rubyists
vanstee
141
7.4k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
570
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
180
Design in an AI World
tapps
1
210
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
130
Discover your Explorer Soul
emna__ayadi
2
1.1k
Transcript
Sure, I could learn Objective-C but... Isn’t there something better?
Joshua Ballanco @manhattanmetric https://github.com/jballanc
Joshua Ballanco @manhattanmetric https://github.com/jballanc
What is Objective-C? • Object Oriented • Message Passing •
SmallTalk Inspired • Strict Superset of C
Objective-C Explosion Why?
Duh...
Is there another option?
What is Ruby? • Object Oriented • Message Passing •
SmallTalk Inspired • Strict Superset of C RubyMotion is Ruby for iOS and OS X
Learning a New Language Stage 1 I understand what you’re
saying... but I have no idea how to reply
Learning a New Language Stage 2 I know how to
construct statements, but they are direct translations from that other language I know
Learning a New Language Stage 3 I get it!
How to learn RubyMotion? • If you don’t know Objective-C...
• GREAT! Go for it!
• Directly Translate • Apply Ruby Refactorings • Re-Open Core
Types (Monkey-Patching) • Build Modules • Use Wrappers How to learn RubyMotion?
JTGestureBasedTableView https://github.com/jamztang/JTGestureBasedTableViewDemo
GestureTable Sample https://github.com/HipByte/RubyMotionSamples/tree/master/ios/GestureTable
Direct Translation Obj-C RubyMotion
Direct Translation
Direct Translation
Direct Translation Obj-C RubyMotion
Direct Translation Obj-C RubyMotion
Direct Translation Obj-C RubyMotion
Direct Translation Obj-C RubyMotion
Ruby Refactoring
Ruby Refactoring
Re-Open Core Classes
Modules
Modules
Wrappers http://motionwrappers.com/
Wrappers http://motionwrappers.com/
Why should I use Objective-C • Speed • Interface directly
with C libraries • Like long method names
Why should I use RubyMotion • Development speed • Clear,
concise business logic • Use high-level wrapper libraries
Moral of the Story... Use the best tool for the
job... and there is more than one tool!