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
100
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
73
You should learn Go!
kodio
1
140
Daha iyi Geliştirme Ortamı için: Vagrant
kodio
0
83
Building Next-Generation iOS Apps with AFNetworking 2.0
kodio
2
400
Reactive Principles
kodio
1
160
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
110
Other Decks in Programming
See All in Programming
ソフトウェアエンジニアにとっての生成AI - 特性を知って使い倒す / generative ai for software enginner
kishida
7
2.3k
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
340
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.9k
T3DD26: From RAGs to Riches
martinhelmich
0
130
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
780
楽しそうなつよつよエンジニアと目が死んでる僕/A brilliant engineer having a blast, and dead-eyed me.
3l4l5
2
280
業務時間外もAIに働いてもらう話
colorful12
3
9.9k
Seeing Through Serverless: Observability for AWS Lambda with ADOT and CloudWatch Application Signals
seike460
PRO
1
110
PyO3 で既存 Python 評価器を Rust core 化する ー wasm-bindgen でブラウザにも配るための設計
kdash
1
290
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
260
kubernetes コンポーネント開発入門 / 新卒N年目の勉強会&交流会!〜〇〇への誘い〜 #n_study
mazrean
0
150
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
130
Featured
See All Featured
Unsuck your backbone
ammeep
672
58k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
390
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Tell your own story through comics
letsgokoyo
1
1.1k
Navigating Weather and Climate Data
rabernat
0
510
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
590
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
390
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
How to Ace a Technical Interview
jacobian
281
24k
The browser strikes back
jonoalderson
0
1.6k
Product Roadmaps are Hard
iamctodd
55
13k
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!