17
rubymotion #inspect 2014 Conference & Training

Rubymotion inspect 2014_review

Embed Size (px)

Citation preview

Page 1: Rubymotion inspect 2014_review

rubymotion #inspect 2014 Conference & Training

Page 2: Rubymotion inspect 2014_review

"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

Page 3: Rubymotion inspect 2014_review

So What Does That Mean?

Page 4: Rubymotion inspect 2014_review

— 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

Page 5: Rubymotion inspect 2014_review
Page 6: Rubymotion inspect 2014_review

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

Page 7: Rubymotion inspect 2014_review

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.

Page 8: Rubymotion inspect 2014_review

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

Page 9: Rubymotion inspect 2014_review

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

Page 10: Rubymotion inspect 2014_review

— Objective-C conventions

— Using C libraries

— Platform Idioms

— Key concepts: pointers, memory management, objects, messages

— Fundamental iOS Libraries

— Cocoa Patterns

— Testing

Page 11: Rubymotion inspect 2014_review

It was an intense 2 days.

I have to go through the materials a few more times.

Page 12: Rubymotion inspect 2014_review

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

Page 13: Rubymotion inspect 2014_review

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

Page 14: Rubymotion inspect 2014_review

lets see some code

Page 15: Rubymotion inspect 2014_review

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

Page 16: Rubymotion inspect 2014_review

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

Page 17: Rubymotion inspect 2014_review

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.