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
1
90
Sure, I could learn Objective-C but...
By Joshua Ballanco
http://kod.io
Kod.io
October 26, 2013
Tweet
Share
More Decks by Kod.io
See All by Kod.io
Our future is in our past or whatever
kodio
0
67
You should learn Go!
kodio
1
130
Daha iyi Geliştirme Ortamı için: Vagrant
kodio
0
67
Building Next-Generation iOS Apps with AFNetworking 2.0
kodio
2
370
Reactive Principles
kodio
1
140
AngularJS vs. Ember.js vs. Backbone.js
kodio
1
510
iBeacons: Interacting with the physical world using Bluetooth LE
kodio
1
100
Go: a simple programming environment
kodio
2
170
Why I had to write a client side framework for Koding.
kodio
1
95
Other Decks in Programming
See All in Programming
ktr0731/go-mcpでMCPサーバー作ってみた
takak2166
0
170
GraphRAGの仕組みまるわかり
tosuri13
7
450
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
520
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
3
310
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
3
750
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
450
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
300
コード書くの好きな人向けAIコーディング活用tips #orestudy
77web
3
330
エンジニア向け採用ピッチ資料
inusan
0
140
ReadMoreTextView
fornewid
1
450
ASP.NETアプリケーションのモダナイズ インフラ編
tomokusaba
1
390
関数型まつり2025登壇資料「関数プログラミングと再帰」
taisontsukada
2
840
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
100
5.6k
Fireside Chat
paigeccino
37
3.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
We Have a Design System, Now What?
morganepeng
52
7.6k
Visualization
eitanlees
146
16k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Thoughts on Productivity
jonyablonski
69
4.7k
Building Applications with DynamoDB
mza
95
6.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
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!