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
Kod.io
October 26, 2013
Programming
97
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
72
You should learn Go!
kodio
1
140
Daha iyi Geliştirme Ortamı için: Vagrant
kodio
0
81
Building Next-Generation iOS Apps with AFNetworking 2.0
kodio
2
400
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
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
220
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1k
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.2k
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
7
2.8k
act1-costs.pdf
sumedhbala
0
240
act2-costs.pdf
sumedhbala
0
120
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
160
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
1
210
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.7k
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
150
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
480
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
330
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
320
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
350
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
610
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.1k
Designing for Performance
lara
611
70k
GitHub's CSS Performance
jonrohan
1033
470k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
320
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
The SEO identity crisis: Don't let AI make you average
varn
0
520
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.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!