Post on 12-May-2015
transcript
rubymotion #inspect 2014 Conference & Training
"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
So What Does That Mean?
— 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
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
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.
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
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
— Objective-C conventions
— Using C libraries
— Platform Idioms
— Key concepts: pointers, memory management, objects, messages
— Fundamental iOS Libraries
— Cocoa Patterns
— Testing
It was an intense 2 days.
I have to go through the materials a few more times.
The conference
Held at Fort Mason on the San Francisco Bay.
A single track conference
3 kinds of talks1. Gems to make development easier2. Tools to make development easier3. Cool stuff you can do
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
lets see some code
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
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
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.