Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
RubyMotion - How I learned to like iOS despite Objective-C
Thom Parkin
January 10, 2013
Programming
0
220
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
hr01
0
1.9k
yusuke57
0
120
andrewgodwin
1
150
ottijp
0
170
o0h
PRO
3
1.5k
77web
2
2.2k
hr01
1
4.2k
adarapata
1
420
nerocrux
2
690
fadis
3
1.8k
minecr
0
110
andpad
0
330
Featured
See All Featured
62gerente
586
200k
ufuk
56
5.5k
scottboms
252
11k
edds
56
9.4k
hatefulcrawdad
257
17k
lara
16
2.9k
reverentgeek
167
7.3k
jacobian
257
20k
3n
163
22k
lemiorhan
628
47k
addyosmani
1346
200k
bryan
99
11k
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