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
RubyMotion - How I learned to like iOS despite ...
Search
Thom Parkin
January 10, 2013
Programming
0
360
RubyMotion - How I learned to like iOS despite Objective-C
First talk of the year for Orlando Ruby User Group (ORUG)
Thom Parkin
January 10, 2013
Tweet
Share
Other Decks in Programming
See All in Programming
EMこそClaude Codeでコード調査しよう
shibayu36
0
340
CSC305 Lecture 06
javiergs
PRO
0
270
AkarengaLT vol.38
hashimoto_kei
1
110
Six and a half ridiculous things to do with Quarkus
hollycummins
0
210
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
130
「ちょっと古いから」って避けてた技術書、今だからこそ読もう
mottyzzz
12
7.1k
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
240
なんでRustの環境構築してないのにRust製のツールが動くの? / Why Do Rust-Based Tools Run Without a Rust Environment?
ssssota
8
25k
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
860
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
410
理論と実務のギャップを超える
eycjur
0
170
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
190
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Bash Introduction
62gerente
615
210k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
Building Applications with DynamoDB
mza
96
6.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
Site-Speed That Sticks
csswizardry
13
920
For a Future-Friendly Web
brad_frost
180
10k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Being A Developer After 40
akosma
91
590k
A designer walks into a library…
pauljervisheath
209
24k
Designing Experiences People Love
moore
142
24k
How STYLIGHT went responsive
nonsquared
100
5.8k
Transcript
RubyMotion How I learned to like iOS despite Objective-C
iOS Mobile Development
iOS Mobile Development Objective-C ME
Objective-C syntax is bizarre & strange Struggle with nuances of
XCode Interface Builder is very “GUI” iOS follows MVC [generally] iOS Mobile Development
iOS Mobile Development Objective - C
iOS Mobile Development Objectionable-C
Obtuse iOS Mobile Development Objectionable-C
RubyMotion ‘Toolchain for iOS’ (iPhone/iPad/iPod) NOT PhoneGap or Rhomobile Creates
statically compiled, native code Fully compliant with App Store guidelines
RubyMotion Familiar environment Ruby*, MVC Tests (MacBacon) Memory Management Ruby
Gems Rake CLI (Terminal based workflow) *still required to understand structure and syntax of Obj-C
RubyMotion Debugger (introduced in 1.24) Read-Eval-Print-Loop (REPL) Huge community Libraries
and DSLs Mix Objective-C and Ruby
RubyMotion Laurent Sansonetti Creator and lead developer of MacRuby left
Apple late 2011 HipByte (small team) Made by Rubyists for Rubyists
RubyMotion Match Made in Heaven?
RubyMotion Match Made in Heaven? Marriage between MacRuby and iOS
iOS Mobile Development RubyMotion Only ONE file (.rb)
iOS Mobile Development RubyMotion NSObject is root class Only ONE
file (.rb)
iOS Mobile Development RubyMotion NSObject is root class implicit return
Only ONE file (.rb)
iOS Mobile Development RubyMotion NSObject is root class Duck typing
implicit return Only ONE file (.rb)
iOS Mobile Development RubyMotion NSObject is root class Duck typing
“sensible” dot notation implicit return Only ONE file (.rb)
RubyMotion
RubyMotion ENOUGH TALK LET’S CODE iOS in RUBY!!
RubyMotion No `eval` (statically compiled) No proc#binding No define_method Named
Parameters RVM / Bundler / Gems is NOT pure Ruby
RubyMotion Learning Objective-C slow painful Ruby familiar fun Conclusion
RubyMotion Purchase RubyMotion (~$200)* license key 1 year software updates
1 year private ticket system “How Do I Get Started?!” * 10% discount code
RubyMotion Google Group GitHub HipByte/RubyMotion ParkinT/RubyMotion_Life/wiki ParkinT/RubyMotionSamples ParkinT/F1rstUse Resources
RubyMotion Book Clay Allsopp Wiki Tutorials Official Samples repo MotionCasts
Conference #inspect Resources