2. "RubyMotion is a revolutionary toolchain that lets
you quickly develop and test native iOS and OS X
applications for iPhone, iPad and Mac, all using the
awesome Ruby language you know and love."
www.rubymotion.com
4. — It is not a framework and very un-opinionated
— It's a dialect of ruby
— Compiled to run in the objective-c runtime
(native performance)
— Anything you can do in objective-c you can do in
rubymotion
— rspec like testing framework built in
— You can use the editor of your choice
— It has a REPL
5.
6. The history of rubymotion
— Created by Laurent
Sansonetti
— Next evolution of macruby
that he worked on at apple
— Released to the public in
2012
— It requires a paid license
— Hipbyte was self funded &
is financially self
sustaining
7. Why not just learn objective-c?
1. You have to learn some.
2. To use rubymotion you need to be able to read and
translate obj-c because that is what the system
libraries, API's & SDK's are written in.
3. The traditional objective-c route locks you into
the x-code way of doing things.
8. For example you have to use interface builder to
drag & drop your UI in place. Drag & drop gives the
UI in a nib file that doesn't make sense to a human
reading it.
If you want to use interface builder with rubymotion
you are welcome to do it and it plays nicely
9. The training
It was a condensed 2 day version of a 5 day class.
Taught by the creator of rubymotion & several core
team members
Focused on the bare metal of using rubymotion with
out using external gems
Limited to 15 people
10. — Objective-C conventions
— Using C libraries
— Platform Idioms
— Key concepts: pointers, memory management,
objects, messages
— Fundamental iOS Libraries
— Cocoa Patterns
— Testing
11. It was an intense 2 days.
I have to go through the
materials a few more times.
12. The conference
Held at Fort Mason on the San Francisco Bay.
A single track conference
3 kinds of talks
1. Gems to make development easier
2. Tools to make development easier
3. Cool stuff you can do
13. Some of my favorite talks
- SkFun: SpriteKit And RubyMotion by Will Raxworthy
- RubyMotion And Accessibility by Austin Seraphin
- RubyMotionQuery (RMQ) In Action by Todd Werth
- Building Apps That Builds Apps by Clay Allsopp
- Going Pro With ProMotion: From Prototype To
Production by Jamon Holmgren
15. A fundamental problem of mobile is the 2 OS's can't
share code.
To have a native iOS & native android app required
having 2 completely different code bases. One in
objective-c and the other in java.
Currently the only options to reuse code are
glorified browser wrappers
16. rubymotion 3 supports Android
RM3 introduces an entirely new implementation of
ruby to work with java.
The conference app on the google play store was
written in RM3.
Using ruby as a rosetta stone introduces the
potential to natively run the same core code in all
places the app exists. iOS, OSX, Android & Web
17. Concluding Thoughts
Community: The rubymotion community is very young
and super tiny right now. It is still ruby-ists so
it is extremely supportive & wants to help if you
ask for it and appreciate when it is given. The
community has been hard at work creating gems to
support faster development.
Prediction: With the release of android support
rubymotion will become the top choice for cross
platform mobile development.