Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RubyMotion - Ruby for iOS

RubyMotion - Ruby for iOS

Daniel Lopes

March 28, 2014
Tweet

More Decks by Daniel Lopes

Other Decks in Programming

Transcript

  1. ABOUT -  Laurent Sansonetti -  Released by HipByte in May

    2012 -  MacRuby port for iOS -  Fully compiled -  100% App Store compliant PAGE  3  
  2. WHY BOTHER? PAGE  4   -  Ruby -  No code

    interpretation (fully compiled) -  IDE agnostic -  Terminal-based workflow -  REPL -  Testing
  3. WORKFLOW PAGE  7   -  Terminal based -  rake - 

    Keep your editor -  RubyMine support -  Testing framework -  Deploy -  Testflight support
  4. WORKFLOW PAGE  8   > motion create meetupDemo Create meetupDemo

    Create meetupDemo/.gitignore Create meetupDemo/app/app_delegate.rb Create meetupDemo/Gemfile Create meetupDemo/Rakefile Create meetupDemo/resources/[email protected] Create meetupDemo/spec/main_spec.rb Code away…
  5. WORKFLOW PAGE  9   > rake Build ./build/iPhoneSimulator-7.0-Development Compile ./app/app_delegate.rb

    Create ./build/iPhoneSimulator-7.0-Development/meetupDemo.app Link ./build/iPhoneSimulator-7.0-Development/meetupDemo.app/meetupDemo Create ./build/iPhoneSimulator-7.0-Development/meetupDemo.app/PkgInfo Create ./build/iPhoneSimulator-7.0-Development/meetupDemo.app/Info.plist Copy ./resources/[email protected] Create ./build/iPhoneSimulator-7.0-Development/meetupDemo.dSYM Simulate ./build/iPhoneSimulator-7.0-Development/meetupDemo.app (main)> > rake testflight notes=”Ready to distribute!" Deploy!
  6. REPL PAGE  11   -  Tab completion (irb-like) -  Interactive

    development -  ⌘ + click to change context (self) -  Traverse view hierarchy -  Modify objects in runtime
  7. RUBYMOTION != MRI PAGE  12   -  No require - 

    No eval -  No Proc#binding -  Named parameters -  Regular gems need to be modified
  8. COMMUNITY PAGE  13   -  RubyMotion wrappers -  DSLs - 

    BubbleWrap -  Sugarcube -  Teacup -  ProMotion -  … -  CocoaPods -  Dedicated conference -  #inspect 2014
  9. DOWNSIDES PAGE  15   -  Not free (150€) -  Lack

    of static checks in compile time -  Debugging -  Hard to access low level layers
  10. RESOURCES PAGE  16   -  Official website -  rubymotion.com - 

    RubyMotion Tutorial -  rubymotion-tutorial.com -  Google Groups -  groups.google.com/forum/#!forum/rubymotion -  GitHub repositories -  github.com/HipByte -  RubyMotion Wrappers -  rubymotion-wrappers.com -  Screencasts -  motioninmotion.tv -  motioncasts.tv -  pragmaticstudio.com/screencasts/rubymotion