Download - RubyMotion - Meetup Ruby lx
![Page 1: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/1.jpg)
RUBYMOTION
RUBY FOR iOS
DEPLOYING YOUR DREAMS
Rui Miguel Santos
18 February 2014
![Page 2: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/2.jpg)
RUBYMOTIONA RUBY TOOLCHAIN FOR DEVELOPING IOS APPLICATIONS
PAGE 2
![Page 3: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/3.jpg)
ABOUT
- Laurent Sansonetti- Released by HipByte in
May 2012- MacRuby port for iOS- Fully compiled- 100% App Store
compliant
PAGE 3
![Page 4: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/4.jpg)
WHY BOTHER?
PAGE 4
- Ruby- No code interpretation
(fully compiled)- IDE agnostic- Terminal-based workflow- REPL- Testing
![Page 5: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/5.jpg)
IMPLEMENTATION
PAGE 5
iOS SDK
Foundation Framework
Objective-C Runtime
Objective-C
![Page 6: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/6.jpg)
IMPLEMENTATION
PAGE 6
iOS SDK
Foundation Framework
Objective-C Runtime
Objective-C
RubyMotion
![Page 7: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/7.jpg)
WORKFLOW
PAGE 7
- Terminal based- rake
- Keep your editor- RubyMine support
- Testing framework- Deploy
- Testflight support
![Page 8: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/8.jpg)
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…
![Page 9: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/9.jpg)
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!
![Page 10: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/10.jpg)
LEARN BY TRANSLATING
PAGE 10
![Page 11: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/11.jpg)
REPL
PAGE 11
- Tab completion (irb-like)- Interactive development
- ⌘ + click to change context (self)- Traverse view hierarchy- Modify objects in runtime
![Page 12: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/12.jpg)
RUBYMOTION != MRI
PAGE 12
- No require- No eval- No Proc#binding- Named parameters- Regular gems need to
be modified
![Page 13: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/13.jpg)
COMMUNITY
PAGE 13
- RubyMotion wrappers- DSLs
- BubbleWrap- Sugarcube- Teacup- ProMotion- …
- CocoaPods- Dedicated conference
- #inspect 2014
![Page 14: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/14.jpg)
TESTING
PAGE 14
- MacBacon (RSpec)- Frank (Cucumber)- Facon (motion-facon)- Symbiote
![Page 15: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/15.jpg)
DOWNSIDES
PAGE 15
- Not free (150€)- Lack of static checks in
compile time- Debugging- Hard to access low level
layers
![Page 16: RubyMotion - Meetup Ruby lx](https://reader035.vdocuments.site/reader035/viewer/2022062418/5555aa44d8b42a52568b489f/html5/thumbnails/16.jpg)
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